Expandir los datos no balanceados al panel mensual

Tengo un conjunto de datos similar al siguiente que me gustaría expandir a un conjunto de datos de panel mensual.

<code>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 |
</code>

Algunos casos duran más que otros. Descubrí cómo expandir los datos a una configuración anual sacando el año de cada fecha y luego utilizando:

<code>year <- ddply(df, c("ID"), summarize, year = seq(startyear, endyear))
</code>

seguido por:

<code>month <- ddply(year, c("ID"), summarize, month = seq(1, 12))
</code>

El problema con este enfoque es que no asigna el número correcto para el mes, es decir, enero = 1, por lo que no se reproduce bien con un conjunto de datos de eventos con los que me gustaría fusionarlo eventualmente. estar emparejando enyear, IDymonth. La ayuda sería apreciada. Aquí hay un enlace directo al conjunto de datos que estoy intentando expandir (.xls):http://db.tt/KeLRCzr9. Ojalá haya incluido suficiente información, pero hágame saber si se necesita alguna otra información.

Respuestas a la pregunta(2)

Su respuesta a la pregunta