¡Excelente Daniel! Es justo lo que estaba buscando, me imaginé que debería existir algo así, pero no conocía esa función.
Muchas gracias, Lucas. ---- Activado lun, 01 sep 2014 12:25:35 -0700 daniel<daniel...@gmail.com> escribió ---- library(zoo) ?rollapply ¿es eso lo que buscas? Daniel Merino El 1 de septiembre de 2014, 16:03, lbianchi <lbian...@zoho.com> escribió: > Hola amigos: > el problema que se me presenta no creo que resulta muy difícil, pero no > he logrado resolverlo. > > Digamos que tengo una tabla con dos columnas, "Fecha" y "Eventos". En la > columna Fecha, tengo el año y en la columna Eventos el número de ocurrencia > de determinado suceso en dicho año. > Por ejemplo: > > &gt; head(tabla) > fecha eventos > 1 1971 1 > 2 1972 8 > 3 1973 1 > 4 1974 7 > 5 1975 7 > 6 1976 2 > > Puedo tener más de una fila por cada año, por lo que si quiero tener la > frecuencia de Eventos por año, encontré dos formas de obtenerla: > # una forma > &gt; aggregate(tabla$eventos, list(tabla$fecha), sum) > > # otra forma > &gt; library(plyr) > &gt; ddply(tabla,.(fecha), summarize, freq=sum(eventos)) > > lo cual me devuelve algo como: > > fecha freq > 1 1971 18 > 2 1972 31 > 3 1973 22 > 4 1974 36 > 5 1975 7 > 6 1976 2 > 7 1977 2 > 8 1978 9 > ... > > > Hasta aquí todo bien, pero se me presentan dos problemas (o un mismo > problema dividido en dos partes): > > 1- Con el código de arriba obtengo un valor por año, pero yo necesito ese > valor para diferentes rangos de años, por ejemplo, cada 5, 10, 15, 20 años. > > 2- A la vez, el punto de inicio para armar estas clases tendría que ir > variando. Por ejemplo, agrupando cada 5 años, podría tener el número de > eventos entre 1970-1974, 1975-1979, 1980-1984, etc. pero también > necesitaría poder tener el número de eventos en los períodos 1971-1975, > 1976-1980, 1981-1985, etc. y luego en los períodos 1972-1976, 1977-1981, > 1982-1986, etc. > > Aquí puse sólo una porción de la tabla, pero el número de años de la tabla > completa puede ser de alrededor de 500 o tal vez un poco más. > Todas las opciones que encontré para agrupar los datos son en función de > valores ya contenidos en la tabla, pero no encontré ninguna manera de > hacerlo más "dinámico" como lo que yo necesito. > > ¿Podría hacer algo con cut()? lo estuve intentando, pero no logré nada. > > Cualquier sugerencia, me será de gran ayuda. > > Muchas Gracias, > > Lucas. > > > > > > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Daniel [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es