Message-ID: <4ED2AA1D.2010004@mucharuina.com>
Date: 2011-11-27T21:22:37Z
From: Rubén Gómez Antolí
Subject: [R-es] Media de elementos tomados uno a uno de un data.frame
In-Reply-To: <CAOKbq8igMywPjSuasFuBiiivTL-PoTOh4Wy=TzAOLujrYrOjJQ@mail.gmail.com>
Hola:
El 27/11/11 17:45, Carlos Ortega escribió:
> Hola,
>
> Otra forma bastante compacta de conseguir el valor medio es la siguiente:
>
> > library(sqldf)
> > wdf<-as.data.frame(vientos)
> > names(wdf)<-c('mes','dir','calm','v1','v2')
> > sqldf("select avg(calm) `Calma`, avg(v1) `V1` , avg(v2) `V2` from wdf
> group by dir")
> Calma V1 V2
> 1 9.666667 0.000000 0.000000
> 2 0.000000 8.666667 6.666667
> 3 0.000000 9.000000 9.666667
> 4 0.000000 3.333333 5.333333
> 5 0.000000 7.000000 6.666667
> >
Mediante comandos sql, según veo. Muchas gracias por la sugerencia, como
suele suceder, siempre hay más de un camino para llegar al resultado
correcto.
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
>
> El 27 de noviembre de 2011 16:16, Rubén Gómez AntolÃ
> <lobo en mucharuina.com <mailto:lobo en mucharuina.com>> escribió:
>
> [...]
> aggregate(
> cbind(as.matrix(Aero.vientos[,__3:14])),
> list(Dir=Aero.vientos[["__Dirección"]],
> Est=est(Aero.vientos[["Meses"]__])),
> FUN = mean, data = Aero.vientos[,1:14]
> )
>
> Además, respeta el nombre de las columnas.
>
> ¿Alguien harÃa el favor de explicarme porque falla el primero y
> «acierta» el último?
>
>
> Para la mediana debes usar median y para la desv. estandar sd.
>
>
> Pues el mismo código anterior falla miserablemente para estas dos
> funciones. :^(
Aquà ya me he colado, sera por la inercia, para estos datos no me hacÃa
falta calcular la desv. estándar ni la mediana.
Resumiendo, que lo he conseguido resolver con el código de arriba.
Ahora, poco a poco, ya iré cogiéndole el «tranquillo» a aggregate y las
demás sugerencias.
Gracias de nuevo a todos.
Salud y Revolución.
Lobo.
--
Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
---------
Desde El Ejido, en AlmerÃa, usuario registrado Linux #294013
http://www.counter.li.org