【问题标题】:order grouping variable in RR中的顺序分组变量
【发布时间】:2014-01-01 22:15:38
【问题描述】:

我有一个这样的数据库:

ID    | familysize | age |  gender 
------+------------+-------------------+------------+-----+----------
1001  |     4      | 26  |     1
1001  |     4      | 38  |     2
1001  |     4      | 30  |     2
1001  |     4      | 7   |     1
1002  |     3      | 25  |     2 
1002  |     3      | 39  |     1   
1002  |     3      | 10  |     2
1003  |     5      | 60  |     1 
1003  |     5      | 50  |     2 
1003  |     5      | 26  |     2
1003  |     5      | 23  |     1 
1003  |     5      | 20  |     1 
1004  |    ....

我想按每个 ID 中的人的年龄来排序这个数据框,所以我使用这个命令:

library(plyr)
require(plyr)
b2<-ddply(b , "ID", function(x) head(x[order(x$ age, decreasing = TRUE), ], )) 

但是当我使用这个命令时,我失去了一些观察力。订购这个数据库应该怎么做?

【问题讨论】:

    标签: r grouping


    【解决方案1】:
    b2 <- b[order(b$ID, -b$age), ]
    

    应该可以解决问题。

    【讨论】:

      【解决方案2】:

      plyr 中的 arrange 函数在这里做得很好。按ID 排序,然后按age 排序,但按降序排列。

      arrange(b, ID, desc(age))
      

      【讨论】:

        猜你喜欢
        • 2016-05-23
        • 2017-01-10
        • 1970-01-01
        • 2021-09-16
        • 1970-01-01
        • 2019-07-24
        • 2022-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多