这个问题在这里已经有了答案:
8年前关闭。
我正在尝试按几列对 data.frame 进行排序
df<-data.frame("Sp1"=c(7,4,2),"Sp2"=c(6,2,1))
row.names(df)<-c("A01","A02","A03")
Sp1 Sp2
A01 7 6
A02 4 2
A03 2 1
#I am using
df[with(df, order("Sp1"))]
然而这没有任何作用。任何想法为什么?谢谢
最佳答案
使用 Sp1
时不应引用 with
。这将始终只返回 1
,因此只返回您的第一行。试试这个:
> df[order(df$Sp1),]
Sp1 Sp2
A03 2 1
A02 4 2
A01 7 6
> df[with(df, order(Sp1)), ]
Sp1 Sp2
A03 2 1
A02 4 2
A01 7 6
关于r - 按 r 中的列对数据框进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11599910/