[R-es] sumarizar

Oscar Perpiñan Lamigueiro oscar.perpinan en upm.es
Jue Ene 19 23:40:39 CET 2012


Hola,

Te propongo una solución con zoo:

library(zoo)

## construyo un data.frame de ejemplo
EUR.resto <- data.frame(date=seq(as.Date('2009-01-01'),
                        as.Date('2011-12-31'), by='day'),
                        moneda1=rnorm(3*365), moneda2=rnorm(3*365),
                        moneda3=rnorm(3*365))

## y lo convierto a zoo (elimino la columna de fechas de los datos)
EURz <- zoo(EUR.resto[,-1],EUR.resto$date) 

## Primero un "agregado" (por defecto la media) agrupando por mes-año
## usando el método aggregate para objetos zoo

EURyearmon <- aggregate(EURz, by=as.yearmon)

## Para calcular medias sólo mensuales o sólo anuales
## hay que definir primero un par de funciones sencillas

month <- function(x) as.numeric(format(x, "%m"))
year <- function(x) as.numeric(format(x, "%Y"))

## y después pasarlas a aggregate:
EURmon <- aggregate(EURz, by=month)
EURyear <- aggregate(EURz, by=year)

Saludos.

Oscar.

El Thu, 19 Jan 2012 22:26:27 +0100
"Otto F. Wagner" <ofwagner en gmail.com> escribió:
> *Hola!!! resulta que tengo unos datos de divisas ordenados por fechas
> (días) los que he convertido a formato tipo YYYY-MM-DD donde DD
> siempre es 01:*
> *
> *
> *
> EUR.resto$date<-as.Date(EUR.resto$date)
> 
> EUR.resto$mo <- substr(EUR.resto$date,6,7)
> EUR.resto$yr <- substr(EUR.resto$date, 1,4)
> 
> 
> EUR.resto$month<-paste('01-',EUR.resto$mo,'-',EUR.resto$yr,sep='')
> EUR.resto$month<-as.Date(EUR.resto$month)
> 
> 
> ahora necesito agrupar mis datos por mes-años (01-mes-año) y obtener
> su valor medio.  En SAS haría un proc summary donde obtendría una
> nueva tabla con menos registros ya que estarían agrupados por mes.
> Que función en R puedo usar equivalente a esta?
> 
> Si uso: eur.agg<-aggregate(EUR.resto$Yenes.japoneses.por.Euro,
> by=list(EUR.resto$month),FUN=mean) me da error.
> 
> Gracias por vuestra ayuda,
> 
> un saludo,
> 
> Otto
> *
> 
> 	[[alternative HTML version deleted]]
> 



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