代码之家  ›  专栏  ›  技术社区  ›  Matt Bannert

排序减少和增加的orderby

r
  •  4
  • Matt Bannert  · 技术社区  · 15 年前

    是否有一种按多个列对data.frame进行排序的标准方法,但会随着减少或增加而变化?例如,您可能希望按一个变量(递减)和下一个变量(递增)排序data.frame。

    是否有如下情况:

    mydf[ order(mydf$myvariable,mydf$myvariable2,decreasing=c(FALSE,TRUE)), ]
    
    3 回复  |  直到 14 年前
        1
  •  4
  •   Collin    15 年前
    library(plyr)
    mydf[with(mydf, order(myvariable, desc(myvariable2)), ]
    
    # Or, a little less typing:
    arrange(mydf, myvariable, desc(myvariable2))
    
        2
  •  4
  •   mbq    15 年前

    快速解决方法:

     mydf[ order(mydf$myvariable,-mydf$myvariable2,decreasing=F), ]
    

    对于因子、字符串等:

     mydf[ order(mydf$myvariable,-xtfrm(mydf$myvariable2),decreasing=F), ]
    
        3
  •  0
  •   Ian Fellows    15 年前
    library(Deducer)
    sort(mtcars,by = ~ cyl - mpg)