【发布时间】:2018-12-17 16:56:42
【问题描述】:
我想将观察结果整合到连续的(所涵盖的天数中没有间隔)日期范围内。每个 patid 在结果数据帧中可能有多个范围。我知道它可以用循环来完成。但是,有没有一种有效的方法来处理这个任务?请注意,这里的时间间隔没有重叠,并且 start_date 正在增加。
数据在这里(我使用 R:dput,您可以在 R 中复制并分配给您的对象):
structure(list(patid = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L), start_date = structure(c(1L, 2L, 3L, 4L, 5L,
1L, 2L, 3L, 8L, 9L, 6L, 7L, 10L), .Label = c("1/1/2010", "2/1/2010",
"3/1/2010", "4/1/2010", "5/1/2010", "5/6/2011", "7/1/2012", "8/1/2010",
"9/1/2010", "9/1/2012"), class = "factor"), end_date = structure(c(1L,
3L, 4L, 5L, 6L, 1L, 3L, 4L, 8L, 10L, 7L, 9L, 2L), .Label = c("1/31/2010",
"12/1/2012", "2/28/2010", "3/31/2010", "4/30/2010", "5/31/2010",
"6/15/2011", "8/31/2010", "8/31/2012", "9/30/2010"), class = "factor")), class = "data.frame", row.names = c(NA,
-13L))
【问题讨论】:
-
在reproducible format 中分享示例更容易,因此我们可以复制/粘贴到 R 中进行测试。使用数据图片并不是很有趣。
-
谢谢,我学会了使用 dput!
标签: r