r两个嵌套列中的顺序因子级别



我有两列的级别是嵌套的。嵌套的意思是第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

最新更新