我有两列的级别是嵌套的。嵌套的意思是第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))), ]
我试图按上述顺序排列因子级别,但第二列没有排在第一列之后;它只是按字母顺序排列的。我知道我可以按照我想要的级别顺序手动输入,但我追求的是不需要的东西。
谢谢。
喜欢以下内容吗?
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
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