这个问题已经有了SQL的答案,我能够在R中实现该解决方案sqldf.但是,我一直无法找到实现它的方法data.table.
问题是如果数据如下所示,计算滚动日期范围内一列的不同值,例如(并直接引用链接的问题):
Date | email
-------+----------------
1/1/12 | test@test.com
1/1/12 | test1@test.com
1/1/12 | test2@test.com
1/2/12 | test1@test.com
1/2/12 | test2@test.com
1/3/12 | test@test.com
1/4/12 | test@test.com
1/5/12 | test@test.com
1/5/12 | test@test.com
1/6/12 | test@test.com
1/6/12 | test@test.com
1/6/12 | test1@test.com
Run Code Online (Sandbox Code Playgroud)
如果我们使用3天的日期,那么结果集看起来就像这样
date | count(distinct email)
-------+------
1/1/12 | 3
1/2/12 | 3
1/3/12 | 3
1/4/12 | 3
1/5/12 | 2
1/6/12 | 2
Run Code Online (Sandbox Code Playgroud)
以下是使用data.table以下命令在R中创建相同数据的代码:
date <- as.Date(c('2012-01-01','2012-01-01','2012-01-01', …Run Code Online (Sandbox Code Playgroud)