分组后计算出现次数,返回序列而不在R

时间:2015-07-14 18:42:09

标签: r count dataframe dplyr

我有一个如下所示的数据框:

ID     Date        result
1      1/1/2010    100
1      1/1/2010    200
2      1/1/2011    300
3      1/1/2011    400
3      1/1/2011    500
3      1/1/2011    600

我想在此数据框中包含另一列:

ID     Date        result  Date_num
1      1/1/2010    100     1/1/2010 (1)
1      1/1/2010    200     1/1/2010 (2)
2      1/1/2011    300     1/1/2011 (1)
3      1/1/2011    400     1/1/2011 (1)
3      1/1/2011    500     1/1/2011 (2)
3      1/1/2011    600     1/1/2011 (3)

这一开始看起来很简单,因为R可以快速按ID分组(使用dplyr,table,aggregate等),但R也可以快速将所有内容组合在一起并汇总结果。

第一步是创建一个向量c(1,2,1,1,2,3),以正确的顺序保存计数。然后,我可以使用dplyr mutate一个新列。但第一步让我有点陷入困境。

我在想:

  DF <- DF %>% 
    group_by(ID) %>%
    summarize(length(ID)) %>%
    mutate(Date_num = paste(DF$ID, <create a sequence from the previous step?>))

谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用row_number()

中的dplyr
 library(dplyr)
 DF %>% 
    group_by(ID) %>%
    mutate(Date_num = row_number())