【发布时间】:2014-10-19 02:42:16
【问题描述】:
这个问题可能太简单了,但我仍然熟悉 R 语法。
我有一个 2 列 3 行的数据框:
- 第一列是一个从 1 到 3 的数值向量。
- 第二列是一个字符向量,其值:最佳、好、差。
我应该使用哪个函数来获得最小的非数字值(即“更差”)?
【问题讨论】:
-
你可以转换你的字符变量 - 看看
?ordered
这个问题可能太简单了,但我仍然熟悉 R 语法。
我有一个 2 列 3 行的数据框:
我应该使用哪个函数来获得最小的非数字值(即“更差”)?
【问题讨论】:
?ordered
另一种解决方案是对字符变量使用ordered 因子。这样min就会知道该怎么做:
dat <- data.frame(a=1:3, b=c("worst","good","best"))
dat$b <- ordered(dat$b, levels=c("worst","good","best"))
min(dat$b)
结果:
> min(dat$b)
[1] worst
Levels: worst < good < best
【讨论】: