我有两列嵌套级别的列。嵌套我的意思是第2列中的因子取决于第1列的值。我想按字母顺序排列第1列中的因子级别。我希望第2列中的因子级别按照第1列的字母顺序按字母顺序排列。
data<-as.data.frame(cbind(c("A","B","D","C","A","B","D","C","A","B","C","D"),
c("Alpha","Beta","Gamma","Delta","Zeta","Chi","Omega",
"Delta","Alpha","Gamma","Beta","Zeta")))
data<-data[with(data, order(factor(levels(data$V1))),
factor(levels(data$V2))), ]
我尝试按上述顺序排列因子水平,但第二列在第一列之后没有排序;它只是按字母顺序排列。我知道我可以手动输入我想要的等级,但我追求的是不需要的等级。
谢谢。
答案 0 :(得分:0)
喜欢以下内容?
library(dplyr)
arrange(data, V1, V2)
V1 V2
1 A Alpha
2 A Alpha
3 A Zeta
4 B Beta
5 B Chi
6 B Gamma
7 C Beta
8 C Delta
9 C Delta
10 D Gamma
11 D Omega
12 D Zeta
答案 1 :(得分:0)
data<-data[order(data$V1,data$V2), ]
#应该工作
> data
V1 V2
1 A Alpha
9 A Alpha
5 A Zeta
2 B Beta
6 B Chi
10 B Gamma
11 C Beta
4 C Delta
8 C Delta
3 D Gamma
7 D Omega
12 D Zeta