我有一个如下所示的数据集,我想将其扩展为每月面板数据集。
ID | start_date | end_date | event_type |
1 | 01/01/97 | 08/01/98 | 1 |
2 | 02/01/97 | 10/01/97 | 1 |
3 | 01/01/96 | 12/01/04 | 2 |
有些病例比其他病例持续时间更长。我已经弄清楚如何通过从每个日期中提取年份然后使用以下方法将数据扩展为年度配置:
year <- ddply(df, c("ID"), summarize, year = seq(startyear, endyear))
其次是:
month <- ddply(year, c("ID"), summarize, month = seq(1, 12))
这种方法的问题在于,它没有为月份分配正确的数字,即一月 = 1,因此它与我希望最终将其合并的事件数据集不能很好地配合,我将在其中匹配于year
, ID
, and month
。如有帮助,将不胜感激。以下是我尝试扩展的数据集 (.xls) 的直接链接:http://db.tt/KeLRCzr9 http://db.tt/KeLRCzr9。希望我已经包含了足够的信息,但如果需要任何其他信息,请告诉我。
你可以尝试更多类似这样的事情:
ddply(df,.(ID),transform,dt = seq.Date(as.Date(start_date,"%m/%d/%Y"),as.Date(end_date,"%m/%d/%Y"),by = "month"))
可能会有很多与行名称有关的警告,我不能保证这会起作用,因为您链接到的数据集与您提供的示例不匹配。首先,我假设您清理了开始日期和结束日期,因为它们在 .xls 文件中以各种格式出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)