Ok, segunda pregunta R en rápida sucesión.ddply + resumen para repetir la misma función estadística en un gran número de columnas
Mis datos:
Timestamp St_01 St_02 ...
1 2008-02-08 00:00:00 26.020 25.840 ...
2 2008-02-08 00:10:00 25.985 25.790 ...
3 2008-02-08 00:20:00 25.930 25.765 ...
4 2008-02-08 00:30:00 25.925 25.730 ...
5 2008-02-08 00:40:00 25.975 25.695 ...
...
Básicamente normalmente utilizarían una combinación de ddply
y summarize
para calcular conjuntos (por ejemplo significar para cada hora a través de todo el año).
En el caso anterior, crearía una categoría, p. hora (por ejemplo strptime(data$Timestamp,"%H") -> data$hour
y luego usar esa categoría en ddply
, al igual que a ddply(data,"hour", summarize, St_01=mean(St_01), St_02=mean(St_02)...)
promedio por categoría en cada una de las columnas.
pero aquí es donde se pone pegajosa. Tengo más de 40 columnas para hacer frente y no estoy preparado para escribirlos todos uno por uno como parámetros para la función summarize
. Solía escribir un bucle en shell para generar este código, pero no es así como los programadores resuelven los problemas ¿
Así que díganlo, ¿alguien tiene una mejor forma de lograr el mismo resultado pero con menos teclas?
Use 'numcolwise()' – Andrie
o la forma del 'variables de St' larga a continuación, utilizar sus funciones de agregación favoritos' BY', 'aggregate',' ddply' combinar con 'c (hora , index) ', donde' index' es la variable creada en la remodelación. –
puntos fáciles para ti :-) –