Ok, seconda domanda R in rapida successione.ddply + riepilogare per ripetere la stessa funzione statistica su un gran numero di colonne
I miei dati:
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 ...
...
In sostanza normalmente vorrei usare una combinazione di ddply
e summarize
per calcolare complessi (ad esempio significare per ogni ora attraverso tutto l'anno).
Nel caso precedente, vorrei creare una categoria, ad es. ora (ad esempio strptime(data$Timestamp,"%H") -> data$hour
e quindi utilizzare tale categoria in ddply
, come ddply(data,"hour", summarize, St_01=mean(St_01), St_02=mean(St_02)...)
alla media per categoria attraverso ciascuna delle colonne.
ma qui è dove ottiene appiccicoso. Ho più di 40 colonne per affrontare e io non sono preparato per digitarli tutti uno per uno come parametri per la funzione summarize
. Ho usato per scrivere un ciclo in shell per generare questo codice ma non è così che i programmatori risolvono i problemi è vero?
Quindi, per favore, qualcuno ha una migliore modo di ottenere lo stesso risultato ma con meno battute?
Usa 'numcolwise()' – Andrie
o rimodellare le variabili 'St' lungo quindi utilizzare le funzioni di aggregazione preferiti' by', 'aggregate',' ddply' combinare da 'c (ora , indice) ', dove' index' è la variabile creata nella risagoma. –
punti facili per te :-) –