Ich habe einen Datensatz, der wie folgt aussieht, den ich zu einem monatlichen Panel-Datensatz erweitern möchte.Erweitern Sie unsymmetrische Daten in das monatliche Panel
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 |
Einige Fälle dauern länger als andere. Ich habe herausgefunden, wie die Daten zu einer jährlichen Konfiguration zu erweitern, indem das Jahr von jedem Zeitpunkt herausziehen und dann mit:
year <- ddply(df, c("ID"), summarize, year = seq(startyear, endyear))
gefolgt von:
month <- ddply(year, c("ID"), summarize, month = seq(1, 12))
Das Problem bei diesem Ansatz ist, dass Es wird nicht die richtige Zahl für den Monat zugewiesen, dh Januar = 1, und so spielt es nicht gut mit einem Ereignisdatensatz, mit dem ich es schließlich zusammenführen möchte, wo ich auf , ID
passen würde, und month
. Hilfe wäre willkommen. Hier ist eine direkte Verbindung zu dem Datensatz, den ich erweitern möchte (.xls): http://db.tt/KeLRCzr9. Hoffentlich habe ich genug Informationen beigefügt, aber lassen Sie mich bitte wissen, wenn weitere Informationen benötigt werden.
Ich verstehe nicht, was anders ist, außer den Namen vonc. Die Spalten, die ich verwende, sind 'ConflEp',' EpStartDate' und 'EpEndDate'. Ja, ich habe die Daten bereinigt, die jetzt alle in einem "% Y-% m-% d" -Format sind. Hier ist ein Link zur bereinigten Version, sorry, dass ich nicht daran gedacht habe. http://db.tt/KeLRCzr9 Ich habe diesen Fehler nachdem ich das ausgeführt habe: Fehler in seq.int (r1 $ mon, 12 * (zu0 $ year - r1 $ year) + to0 $ mon, by): 'to' muss endlich sein – Zach
@Zach Hast du das Datumsformat angepasst? Ich habe diesen Code basierend auf dem von Ihnen angegebenen Beispiel mit den Daten in% m /% d /% Y geschrieben. – joran
Ja, tat ich. Ich habe sie in "% Y-% m-% d" konvertiert und dann folgendes ausgeführt: test <- ddply (data1,. (ConflEp), transformieren, dt = seq.Date (EpStartDate, EpEndDate, by = "month")). Ich habe das "zu" muss endlich sein Fehler und eine Warnung, dass "Zeilennamen wurden aus einer kurzen Variable gefunden und wurden verworfen" – Zach