Wenn ich einen einfachen Datenrahmen mit 2 Faktoren (a und b) mit 2 Ebenen (1 und 2) und 1 Variable (x) habe, wie bekomme ich die Medianwerte von x : Median x über jeder Ebene von Faktor a, jeder Ebene von Faktor b und jeder Kombination von a * b?R - dplyr Zusammenfassung über Kombinationen von Faktoren
library(dplyr)
df <- data.frame(a = as.factor(c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)),
b = as.factor(c(1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2)),
x = c(runif(16)))
Ich habe verschiedene (viele) Versionen versucht:
df %>%
group_by_(c("a", "b")) %>%
summarize(med_rate = median(df$x))
Die Ergebnisse, wie dies für den Median aussehen sollte eine x jeder Ebene des Faktors:
ein Median
1 0,58811
2 0,53167
Und wie dies für den Median x jeder Ebene der Faktor b:
b Median
1 0,60622
2 0,46096
Und wie dies für den Median x für jede Kombinationen von a und b:
ab medianen
1 1 0,66745
2 0,34656
2 1 0,50903
2 2 0,55990
Vielen Dank im Voraus für jede Hilfe.
nehmen Sie die 'df $' aus der 'summarise' –
Sie Anführungszeichen nicht benötigen und Sie können' group_by' dh 'df%>% group_by (a, b) verwenden%>% summarize (med_rate = Median (x)) ' – akrun
Danke. Aber das gibt mir einen Medianwert; der Median x über die 16 Beobachtung. Es gibt mir nicht die Medianwerte jedes Niveaus (1 und 2) jedes Faktors (a & b) und jedes Niveaus jeder a * b Kombination. –