按顺序主动计算实例,R

时间:2016-12-02 22:05:07

标签: r dplyr

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

Name  Month
A     1
A     7
A     7
A     4
A     3
A    11
A    12
B     5
B     6
B    12
B     4
B     9
B    12
B    10

我想计算月份的排名并按名称分组。 所以我希望它看起来像这样。

Name  Month Count
A     1       1  
A     7       4
A     7       5
A     4       2
A     3       3
A    11       6
A    12       7
B     5       2
B     6       3
B    12       6
B     4       1
B     9       4
B    12       7
B    10       5

我试图在R中这样做,我真的想使用dplyr。 有什么建议吗?

修改 我没有提到我希望即使有重复,也会增加排名。我更新了数据以反映同样的事情。

1 个答案:

答案 0 :(得分:2)

正如评论中提到的那样,您应该管道group_by和一些排名功能。只有提供所需输出的函数为row_number

所以我觉得它应该是这样的:

Name = c(rep('A', 7), rep('B', 7))
Month = c(1, 7, 7, 4, 3, 11, 12, 5, 6, 12, 4, 9, 12, 10)
Data = data.frame(Name, Month)

library(dplyr)

Data %>% group_by(Name) %>% mutate(Count = row_number(Month))