2016-10-09 3 views
-1

Ich bin neu in R und ich brauche Hilfe in diesem. Ich habe 3 Datensätze aus 3 verschiedenen Jahren. Sie haben die gleichen Spalten mit unterschiedlichen Werten für jedes Jahr. Ich möchte den Durchschnitt für die Spaltenwerte über die drei Jahre basierend auf dem Namensfeld finden. Um genau zu sein:Durchschnitt für Spalte Wert über mehrere Datensätze in R

annehmen: erster Datensatz

Name Age Height Weight 
A  4 20  20 
B  5 22  22 
C  8 25  21 
D  10 25  23 

zweiter Datensatz

Name Age Height Weight 
A  5 22  25 
B  6 23  26 

Dritte Daten

gesetzt
Name Age Height Weight 
A  6 24  24 
B  7 24  27 
C  10 27  28 

ich für „A die durchschnittliche Höhe finden will "über die drei Datensätze

Antwort

0

Wir können sie in einem list und rbind ihnen Gruppe platzieren, indem Sie 'Name' und die mean jeder Spalte

library(data.table) 
rbindlist(list(df1, df2, df3))[, lapply(.SD, mean), by = Name] 

Oder mit dplyr

bind_rows(df1, df2, df3) %>% 
      group_by(Name) %>% 
      summarise_each(funs(mean)) 
erhalten
Verwandte Themen