R:按日期剪切,并按ID与data.table分组

R:按日期剪切,并按ID与data.table分组,r,data.table,R,Data.table,我有一个data.table,其中有一个参与者列表,由id在日期做事情唯一标识。在特定的日期上,参与者所做事情的数量没有限制 require(data.table) set.seed(28100) df.in <- data.table(id = sample(1:10, 100, replace=TRUE), date = sample(2001:2012, 100, replace=TRUE)) require(data.table) 种子集(

我有一个
data.table
,其中有一个参与者列表,由
id
日期做事情唯一标识。在特定的
日期
上,
参与者所做事情的数量没有限制

require(data.table)
set.seed(28100)
df.in <- data.table(id = sample(1:10, 100, replace=TRUE),
                    date = sample(2001:2012, 100, replace=TRUE))
require(data.table)
种子集(28100)

你的意思是这样的吗

df.in[, interv := cut(date, sequence)][, .(Actors = length(unique(id))), by = interv]
#        interv Actors
#1: (2000,2004]     10
#2: (2008,2012]      9
#3: (2004,2008]     10

如果您使用的是GitHub的开发版本1.9.5,您可以使用
uniqueN()
而不是
length(unique())

您的意思是这样的吗

df.in[, interv := cut(date, sequence)][, .(Actors = length(unique(id))), by = interv]
#        interv Actors
#1: (2000,2004]     10
#2: (2008,2012]      9
#3: (2004,2008]     10
如果您使用的是GitHub的开发版本1.9.5,您可以使用
uniqueN()
而不是
length(unique())