根据列的位置分配值

问题描述 投票:0回答:1

我有这样的数据集:

ID  Conversion  date_time
1   0          22/08/2016 00:28
1   1          22/08/2016 00:09
2   0          22/08/2016 00:50
2   0          22/08/2016 00:52
2   0          22/08/2016 00:11

我想创建一个for循环,根据Unique ID#,我想订购date_time列并按升序排列值1。所以它看起来像这样:

ID  Conversion  date_time
1     0            1
1     1            2
2     0            1
2     0            2
2     0            3

先感谢您

r
1个回答
0
投票

使用data.table

df <- read.table(header=T, text="ID  Conversion  date_time
                 1   0          22/08/201600:28
                 1   1          22/08/201600:09
                 2   0          22/08/201600:50
                 2   0          22/08/201600:52
                 2   0          22/08/201600:11")



library(data.table)
setDT(df)
df[, date_time1 := 1:.N, by = ID]
df[, date_time := NULL]
setnames(df, "date_time1", "date_time")

    ID Conversion date_time
1:  1          0         1
2:  1          1         2
3:  2          0         1
4:  2          0         2
5:  2          0         3
© www.soinside.com 2019 - 2024. All rights reserved.