【发布时间】:2017-11-15 07:30:50
【问题描述】:
我有一个数据框,我想根据以下数据集创建一个不平衡面板。
profile<- c('lehman', 'john','oliver','stephen','picasso')
start_date<- c(2008-01-01, 2008-02-02,2008-04-02,2008-09-02,2009-02-02)
end_date <- c (2009-12-31, 2009-12-31, 2009-12-31,2009-12-31,2009-12-31)
df<- data.frame(profile,start_date,end_date)
我想创建两列 tid 和 myear。 Myear 基本上是从开始日期开始的月份年份,并且它会根据月份不断扩展,直到最后一个结束日期。然后我需要一个 tid,对于 myear 01-2008 编码为 01,对于 02-2008 编码为 02 ....so on 12-2009 as 24. 有人能建议怎么做吗?这是预期的输出。
profile start_date end_date tid myear
lehman 2008-01-01 2009-12-31 01 01-2008
lehman 2008-01-01 2009-12-31 02 02-2008
... .. .. ..
lehman 2008-01-01 2009-12-31 24 12-2009
john 2008-02-02 2009-12-31 02 02-2008
john 2008-02-02 2009-12-31 03 03-2008
.. .. .. ..
john 2008-02-02 2009-12-31 24 12-2009
... .. ... ..
picasso 2009-02-02 2009-12-31 14 02-2009
picasso 2009-03-02 2009-12-31 15 03-2009
... ... ... ..
【问题讨论】: