2016-06-02 14 views
-1

Ich bin ziemlich neu in der Programmierung und dieser Community. Hoffentlich kann einer von euch mir helfen, weil ich feststecke.Reihen zusammenfassen, wenn sie die gleichen Werte haben und aus einer Spalte den Mittelwert nehmen

Ich habe einen df, die wie folgt aussieht:

Time | Location | day | direction | speed 

08:00| 143.3 | Mo | L  | 120.0 

08:00| 143.3 | Mo | L  | 110.0 

09:00| 143.3 | Mo | L  | 120.0 

09:00| 143.3 | Mo | L  | 100.0 

09:00| 143.3 | Mo | L  | 110.0 

09:00| 143.3 | Mo | R  | 121.2 

ich die Zeilen zusammenführen möchten IF die Time und Location und day und direction die gleiche wie eine andere Reihe sind. Wenn das alles TRUE ist: sollte es zusammenführen und nehmen Sie die mean der Geschwindigkeit in eine einzige Zeile.

So sollte es wie folgt aussehen werden:

Time | Location | day | direction | speed 

08:00| 143.3 | Mo | L  | 115.0 

09:00| 143.3 | Mo | L  | 110.0 

09:00| 143.3 | Mo | R  | 121.2 

jemand mir mit diesem helfen?

ps. Entschuldigung für die schlechte Darstellung der df! Ich werde das bearbeiten.

Antwort

0
library(plyr) 
result = plyr::ddply(df,c("Time","Location","day","direction"),function(x){ 
    data.frame(speed=mean(x$speed)) 
}) 
result 
Verwandte Themen