重新编码嵌套在 (100k+) 个用户 ID 中的(不等数量的)日期

Recoding (unequal number of) dates nested within (100k+) user IDs

我有一个足够大的数据集,正在重新熟悉 R 中可用的功能。这是数据集的一个子集。日期变量编码正确。

UID    date
104   2020-08-03 03:18:45
104   2020-09-08 05:18:26
104   2020-10-06 03:35:12
127   2020-07-04 03:18:45
132   2020-10-09 04:33:21
132   2020-11-05 02:28:38
...

我想要一个代码来指示个人中的哪个订购日期。所以它应该是这样的:

UID    date                 treatment
104   2020-08-03 03:18:45  1
104   2020-09-08 05:18:26  2
104   2020-10-06 03:35:12  3
127   2020-07-04 03:18:45  1
132   2020-10-09 04:33:21  1
132   2020-11-05 02:28:38  2
...

该代码表示​​一种“治疗编号”。当然,它们都在每个月的不同 months/days 开始,并持续不同的时间。我已经尝试了顺序、变异、group_by 等的所有组合,但我正在努力。任何帮助将不胜感激。

我们可以使用 rowid 来自 data.table

library(data.table)
setDT(df1)[, treatment := rowid(UID)]