私は毎月のパネルデータセットに展開したいと思う次のようなデータセットを持っています。アンバランスデータを毎月のパネルに展開する
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月= 1が割り当てられていないので、最終的にマージする予定のイベントデータセットではうまく動かない。year
、ID
、およびmonth
。ヘルプをいただければ幸いです。展開するデータセット(.xls)への直接リンクは、http://db.tt/KeLRCzr9です。うまくいけば十分な情報が含まれていますが、他に必要な情報があれば教えてください。
私はcの名前以外に何が違うのか分かりません。私が実際に使っている列は 'ConflEp'、' EpStartDate'、 'EpEndDate'です。はい、私は '%Y-%m-%d'形式の日付を整理しました。ここでは、きれいなバージョンへのリンクです、私はそれを考えなかった申し訳ありません。 http://db.tt/KeLRCzr9 seq.intのエラー(r1 $ mon、12 *(to0 $ year-r1 $ year)+ to0 $ mon、by): 'to'有限でなければならない – Zach
@Zach日付形式を調整しましたか?あなたが提供した例に基づいて、%m /%d /%Y形式の日付でコードを書きました。 – joran
はい、私はしました。私はそれらを "%Y-%m-%d"に変換し、これを実行しました: test < - ddply(data1、。(ConflEp)、transform、dt = seq.Date(EpStartDate、EpEndDate、by = "month") )。私は "to"に有限のエラーがあり、 "行の名前が短い変数から見つかって捨てられている"という警告が出ています。 – Zach