用一个变量计算nr个观察值作为中断变量

时间:2015-10-21 11:10:11

标签: r count

我想根据Sessions变量

中的观察次数计算ID的nr

以下是变量

ID <- c(1,1,2,2,2,3,3,3,3)
Days <- c(0,5,0,5,10,0,5,10,15)
Sessions <- c(1,2,1,2,3,1,2,3,4)

以下是我的数据:

Have <- data.table(ID,Days)
Have
ID Days
1    0
1    5
2    0
2    5
2   10
3    0
3    5
3   10
3   15

以下是我想要得到的数据:

Whant <- data.table(ID,Days,Sessions)
Whant
ID Days Sessions
1    0       1
1    5       2
2    0       1
2    5       2
2   10       3
3    0       1
3    5       2
3   10       3
3   15       4

非常感谢有人可以帮助我。这是一个很棒的论坛!

1 个答案:

答案 0 :(得分:0)

我们按'ID'分组,并将'会话'创建为行序列(1:.N)。

Have[, Sessions:= 1:.N, ID]

或者我们可以使用getanID

中的包装器(library(splitstackshape)
library(splitstackshape)
getanID(Have, 'ID')[]