R 每个ID的重叠日期的总和值
我发现这个问题与我的非常相似,但开始日期和停止日期有时是相同的()。我想直接发表评论和询问,但我没有超过15岁的声誉 假设数据如下(从Uwe复制): 其中开始日期和停止日期不重叠 还有,这是Uwe的第一步,有人能告诉我-1L在这里是什么意思吗?我知道tmp是一个临时向量,但为什么我们需要-1R 每个ID的重叠日期的总和值,r,date,add,R,Date,Add,我发现这个问题与我的非常相似,但开始日期和停止日期有时是相同的()。我想直接发表评论和询问,但我没有超过15岁的声誉 假设数据如下(从Uwe复制): 其中开始日期和停止日期不重叠 还有,这是Uwe的第一步,有人能告诉我-1L在这里是什么意思吗?我知道tmp是一个临时向量,但为什么我们需要-1 library(data.table) options(datatable.print.class = TRUE) breaks <- DT[, { tmp <- unique(sort(c
library(data.table)
options(datatable.print.class = TRUE)
breaks <- DT[, {
tmp <- unique(sort(c(date1, date2)))
.(start = head(tmp, -1L), end = tail(tmp, -1L))
}, by = ID]
breaks
库(data.table)
选项(datatable.print.class=TRUE)
使用head
和tail
中断,它分别跳过tmp
的最后一个和第一个值。检查头部(1:10,-1)
和尾部(1:10,-1)
的输出。感谢您的解释!当我尝试(1:10,-1)时,结果是有8行。使用head
和tail
它分别跳过tmp
的最后和第一个值。检查头部(1:10,-1)
和尾部(1:10,-1)
的输出。感谢您的解释!当我尝试(1:10,-1)时,结果是有8行。
ID date1 date2 Value
15 2003-04-05 2003-04-19 1
15 2003-04-20 2003-05-06 2
15 2003-05-07 2003-06-20 1
17 2003-03-05 2005-04-14 1
17 2005-04-15 2007-02-22 3
17 2007-02-23 2014-05-19 2
library(data.table)
options(datatable.print.class = TRUE)
breaks <- DT[, {
tmp <- unique(sort(c(date1, date2)))
.(start = head(tmp, -1L), end = tail(tmp, -1L))
}, by = ID]
breaks