Function reorder in R and ordering values
我正在尝试以下功能:
1 2 | stest <- data.frame(group=c("John","Jane","James"), mean=c(3, 5, 1)) transform(stest, group = reorder(group, mean)) |
预计产量由
1 2 3 4 | group mean 1 John 3 2 Jane 5 3 James 1 |
号
也就是说,与原始数据帧中的顺序相同。
我错过什么了吗?如何通过数据帧的一个数值变量正确排序?
周围的建议是关于使用
From the documentation
reorder is a generic function. The"default" method treats its first argument as a categorical variable, and reorders its levels based on the values of a second variable, usually numeric.
备注等级,而不是柱
比较:
1 2 | levels(stest$group) [1]"James""Jane" "John" |
与
ZZU1
第1版
从你身上
"@Chargaff Yep,it returns the right order,but when I trying to use this dataframe in GGPLOT,GGPLOT still plots it in the previous order."
看起来你真的很想把电梯升级为一个GPLOT。我建议你:
1 | stest$group <- reorder(stest$group, stest$mean) |
第二版
这是你最后一条密码线上的"无效"的方法。Clearly it does:
1 2 3 4 5 6 7 8 9 10 | > stest$group [1] John Jane James Levels: James Jane John # <------------------------------- > stest$group <- reorder(stest$group, stest$mean) # | > stest$group # | [1] John Jane James # | attr(,"scores") # | DIFFERENT :) James Jane John # | 1 5 3 # | Levels: James John Jane # <-------------------------------- |
我发现我的错误,感谢使用1317221克等。
The code code that would order my dataset is:
1 | stest$group <- reorder(stest$group, stest$mean, FUN=identity) |
惠尔
1 | stest$group <- reorder(stest$group, stest$mean) |
你不需要我的数据框我不知道为什么不工作,但我必须要特别注意
可能的原因是:重整因子给不同的结果,取决于装载的包装
更新
这还不足以成为第一条密码线It's not enough to have the first line of code.第二个因素不包括第二个因素,最终命令可能不完整(E.G.,Higher Values Below Lower Values in Descriming Order)。
因此,确保你有正确的命令:
1 | stest$group <- reorder(stest$group, as.factor(stest$mean), FUN=identity) |
我想你想要的是
1 | > stest[order(stest$mean),] |