2017-02-28 14 views
-1

Ich bin neu in R und diesem Forum. Ich versuche, mehrere Zeilen aus einer Spalte zu extrahieren und mit ihnen zu arbeiten, z.B. Berechnen Sie den Mittelwert davon. Ich suchte nach ähnlichen Fragen, fand aber nicht genau, was ich wollte. Jede Hilfe wird sehr geschätzt. Ich hoffe, die folgenden Zeilen zeigen mein Problem deutlich. Als erstes ist hier ein reproduzierbares Beispiel:extrahieren mehrere Zeilen aus einer Spalte

library(data.table) 
counts<-matrix(c(0.3343,0.3543,0.3846,0.3713,0.8341, 
0.5764,0.3543,0.8341,0.3846,1,2,3,4,5,6,1,2,3,7,7,7,8,8,8,9,9,9), ncol=3) 
colnames(counts) <- c('value','doy','month') 
counts2 <- data.table(counts) 
counts2[month == 7, list(M1 = mean(value))] 

Dieser Code gibt mir den Mittelwert des Monats 7. Was ich will, ist der Mittelwert der Werte von Monat 7 und 8

Vielen Dank im Voraus !

+1

'Aggregat (Wert ~ Monat, counts2 [counts2 $ Monat% in% c (7, 8)], Mittelwert) ' –

+0

Mögliches Duplikat von [Mittelwert pro Gruppe in einem Datenrahmen] (http://stackoverflow.com/questions/21982987/mean-per-group-in- a-Datenrahmen) –

Antwort

0

In diesem Fall wir %in% zu finden, benutzen Sie die aggregierte mean

counts2[month %in% c(7,8), list(M1 = mean(value))] 

Oder wenn wir es separat benötigen, verwenden Sie die by Option

counts2[month %in% c(7,8), list(M1 = mean(value)), by = month] 
# month  M1 
#1:  7 0.3577333 
#2:  8 0.5939333 
+0

Danke eine Million! Das war genau das, was ich gesucht habe :) – Baldrian

Verwandte Themen