我有要做的这个非常简单的任务,但是我似乎无法以任何有效的方式解决它。 我应该从一个大型数据框中计算不同个体的不同时期的数量。
这是我的数据示例:
myData <- tibble(
individuals = c(rep("r1",9),rep("r2",9), rep("r3",9)),
group = c(rep(324,3), rep(326,3), rep(328,3), rep(330,3), rep (332,3), rep(334,3), rep(336,3), rep(338,3), rep(340,3)))
individuals group
<chr> <dbl>
1 r1 324
2 r1 324
3 r1 324
4 r1 326
5 r1 326
6 r1 326
7 r1 328
8 r1 328
9 r1 328
10 r2 330
# ... with 17 more rows
现在,我想创建另一列,其中第一个提到的个人组获得1,另一个2,第三个人3,然后再次为下一个个人开始计数。预期的结果将是这样:
individuals group period_number
<chr> <dbl> <dbl>
1 r1 324 1
2 r1 324 1
3 r1 324 1
4 r1 326 2
5 r1 326 2
6 r1 326 2
7 r1 328 3
8 r1 328 3
9 r1 328 3
10 r2 330 1
# ... with 17 more rows
我想使用group_by(individuals)
中的mutate(period_number =)
和dplyr
函数,但是我不知道在mutate()
中使用哪个函数。我试图从这里的其他几个问题中寻找问题(Condtionally create new columns based on specific numeric values (keys) from existing column,How to add column into a dataframe based on condition?),但是由于“组”列中的数字不是类别,而只是运行不同时期的ID号码,所以我认为我不能与例如一起使用if_else()
。
我确信必须有一个相当简单的解决方案,但是我似乎无法弄清楚。任何帮助将不胜感激!