[R-es] Distribuir intervalo de días entre meses

Rubén Coca ruben.coca en gmail.com
Vie Abr 7 12:02:08 CEST 2017


Hola,
Partiendo de un data frame con 2 variables de fecha (inicio y fin):

df <- data.frame(inicio = c(as.Date("2016-01-01"),
                                      as.Date("2016-02-14")),
                        fin = c(as.Date("2016-02-01"),
                                  as.Date("2016-02-29")))

Necesitaría crear 12 nuevas columnas adicionales, una para cada mes, que
compute el número de días del intervalo que caen en cada mes. El resultado
deseado sería algo así:

inicio             fin              ene    feb    mar    abr    may    jun
   jul    ago    sep    oct    nov    dic
2016-01-01    2016-02-01  31     1       0        0       0        0      0
     0        0       0       0       0
2016-02-14    2016-02-29  0       15     0        0       0        0      0
     0        0       0       0       0

Buscando he encontrado una aproximación al problema del reparto, pero no es
válida para data frames. La detallo por si sirve de inspiración:
table(format(seq(df$inicio, df$fin, by=1), "%m"))

Muchas gracias.
Rubén

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es