Ok, zweite R Frage in schneller Folge.ddply + Zusammenfassung für die Wiederholung der gleichen statistischen Funktion über eine große Anzahl von Spalten
Meine Daten:
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 ...
...
Grundsätzlich normalerweise würde ich eine Kombination aus ddply
und summarize
verwenden Ensembles zu berechnen (beispielsweise für jede Stunde über das ganze Jahr bedeuten).
In dem obigen Fall würde ich eine Kategorie, z. Stunde (zB strptime(data$Timestamp,"%H") -> data$hour
und dann diese Kategorie in ddply
, wie ddply(data,"hour", summarize, St_01=mean(St_01), St_02=mean(St_02)...)
auf durchschnittlich über jede der Spalten nach Kategorie verwenden.
aber hier ist, wo es klebrig wird. ich mehr als 40 Spalten zu behandeln und ich bin nicht Ich schrieb eine Schleife in der Shell, um diesen Code zu generieren, aber das ist nicht, wie Programmierer Probleme lösen, ist es?
Also bitte sagen, hat jemand eine bessere Möglichkeit, das gleiche Ergebnis zu erreichen, aber mit weniger Tastenanschlägen?
Verwenden 'numcolwise()' – Andrie
Oder das 'St' Variablen langen umformen dann Funktionen Ihrer Liebling Aggregation verwenden' by', 'aggregate',' ddply' von 'c (Stunde zu kombinieren , index) ', wobei' index' die in der Umformung erzeugte Variable ist. –
einfache punkte für ya :-) –