重新编码嵌套在 (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)]
我有一个足够大的数据集,正在重新熟悉 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)]