orderBy随排序的减少和增加而变化
是否有一种标准的方法可以将data.frame按多个列进行排序,但会有减少或增加的变化?例如,您可能希望按一个变量(递减)和下一个变量(递增)对data.frame进行排序 是否有类似于:orderBy随排序的减少和增加而变化,r,R,是否有一种标准的方法可以将data.frame按多个列进行排序,但会有减少或增加的变化?例如,您可能希望按一个变量(递减)和下一个变量(递增)对data.frame进行排序 是否有类似于: mydf[ order(mydf$myvariable,mydf$myvariable2,decreasing=c(FALSE,TRUE)), ] 快速解决方法: mydf[ order(mydf$myvariable,-mydf$myvariable2,decreasing=F), ] 对于因子、字符
mydf[ order(mydf$myvariable,mydf$myvariable2,decreasing=c(FALSE,TRUE)), ]
快速解决方法:
mydf[ order(mydf$myvariable,-mydf$myvariable2,decreasing=F), ]
对于因子、字符串等:
mydf[ order(mydf$myvariable,-xtfrm(mydf$myvariable2),decreasing=F), ]
您是否阅读了有关订购的帮助?示例部分中有有用的代码(使用字符变量的
xtfrm
。xtfrm
是您正在寻找的函数。我喜欢这两个答案,但不可否认,我对plyr软件包有点偏见;)
library(plyr)
mydf[with(mydf, order(myvariable, desc(myvariable2)), ]
# Or, a little less typing:
arrange(mydf, myvariable, desc(myvariable2))
library(Deducer)
sort(mtcars,by = ~ cyl - mpg)