[R-es] Media de elementos tomados uno a uno de un data.frame

Rubén Gómez Antolí lobo en mucharuina.com
Dom Nov 27 22:22:37 CET 2011


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



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