0

我有这个非常简单的任务需要做,但我似乎无法以任何有效的方式解决它。我应该从一个大数据框中计算不同个体的不同时期的数量。

这是我的数据示例:

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  

我想使用 from 的group_by(individuals)andmutate(period_number =)函数dplyr,但我不知道在里面使用哪个函数mutate()。我试图从这里的其他几个问题中查看(有条件地根据现有列中的特定数值(键)创建新列如何根据条件将列添加到数据框中?),但由于组列中的数字不是类别但只是在不同时期运行 id 号码,我认为我不能将它们与 eg 一起使用if_else()

我确信必须有一个相当简单的解决方案,但我似乎无法弄清楚。任何帮助是极大的赞赏!

4

0 回答 0