2016-06-29 14 views
-2

Das mag recht einfach sein, aber meine Kenntnisse von R fehlt etwas, also würde ich wirklich etwas Hilfe zu schätzen wissen. Hier gehts: Ich habe 6 Spalten (Site, Year, Plot, Rasen, Tussock, Grass). Meine Zeilen sind wie folgt: Ich habe 2 Seiten (hoch und niedrig). Für jede Website habe ich 3 Jahre (2013, 2014 und 2015). Für jedes Jahr habe ich 5 Grundstücke (1,2,3,4,5). Ich habe dann die durchschnittliche Höhe für Rasen, Tussock und Gras für jede dieser Zeilen, z.B .:Wie berechne ich den Mittelwert einer Teilmenge von Daten aus einer .csv-Datei in R

Site  Year Plot Lawn Tussock Grass 
High  2013 1  5.43 36.98 10.16 
High  2013 2  2.66 66.18 5.95 
High  2013 3  2.73 44.08 6.59 
High  2013 4  2.75 45.42 6.55 
High  2013 5  4.44 33.26 7.97 
High  2014 1  8.32 34.47 11.62 
High  2014 2  6.22 28.78 8.41 
High  2014 3  8.74 43.39 16.26 
High  2014 4  4.19 30.88 8.96 
High  2014 5  5.74 22.42 7.68 

Wie gehe ich um für jeden Standort für jedes Jahr einen Durchschnittswert für Rasen, Tussock und Gras zu bekommen? Jeder Rat würde sehr geschätzt werden.

+0

für eine data.frame df genannt, verwenden Sie 'Aggregat (. ~ Website + Jahr + Plot, df data = FUN = Mittelwert)' – lmo

Antwort

0

ersetzen tb mit dem, was Ihrem Datenrahmen genannt wird.

aggregate(cbind(Lawn,Tussock,Grass) ~ Site + Year, data=tb, mean) 
+0

Großer Dank! Das funktioniert! – Dominique

2

df Unter der Annahme, Ihr Datenrahmen

library(dplyr) 
df %>% group_by(Site, Year) %>% summarise_each(funs(mean), -Plot)