首页 文章

将不 balancer 数据扩展到月度面板

提问于
浏览
1

我有一个如下所示的数据集,我想扩展到月度面板数据集 .

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))

这种方法的问题在于它不能很好地处理我希望最终将其合并的事件数据集,我将在 yearIDmonth 上进行匹配 . 帮助将不胜感激 . 这是我试图扩展的数据集的直接链接(.xls):http://db.tt/KeLRCzr9 . 希望我已经提供了足够的信息,但如果还有其他需要的信息,请告诉我 .

2 回答

  • 0

    你可以尝试更像这样的东西:

    ddply(df,.(ID),transform,dt = seq.Date(as.Date(start_date,"%m/%d/%Y"),as.Date(end_date,"%m/%d/%Y"),by = "month"))
    

    可能会有很多警告与行名称有关,我不能保证这会起作用,因为您链接的数据集与您提供的示例不匹配 . 对于初学者,我假设你清理了开始和结束日期,因为它们在.xls文件中以各种格式出现 .

  • 1
    ddply(df, .(ID), summarize, dt = seq.Date(start_date, end_date, by = "month"))
    

    假设start_date和end_date已经是日期对象 . Joran让我接近了,所以再次感谢你的帮助 .

相关问题