Si j'ai une trame de données simple avec 2 facteurs (a et b) avec 2 niveaux (1 et 2) et 1 variable (x), comment puis-je obtenir les valeurs médianes de x : médiane x sur chaque niveau de facteur a, chaque niveau de facteur b, et chaque combinaison de a * b?R - résumé dplyr sur des combinaisons de facteurs
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)))
J'ai essayé différentes (beaucoup) de versions:
df %>%
group_by_(c("a", "b")) %>%
summarize(med_rate = median(df$x))
Les résultats devraient ressembler à ceci pour la médiane x de chaque niveau de facteur a:
une médiane
1 0,58811
2 0,53167
Et comme celui-ci pour la médiane x de chaque niveau de facteur b:
b médiane
1 0,60622
2 0,46096
Et comme celui-ci pour la médiane x pour chaque combinaison de a et b:
ab médiane
1 1 0,66745
1 2 0,34656
2 1 0,50903
2 2 0,55990
Merci à l'avance pour toute aide.
prendre la 'df $' de la 'summarise' –
Vous n'avez pas besoin de devis et vous pouvez utiliser' 'group_by'-à-dire df%>% group_by (a, b)%>% Résumer (med_rate = médiane (x)) ' – akrun
Merci. Mais cela me donne une valeur médiane; la médiane x au cours de l'observation de 16. Il ne me donne pas les valeurs médianes de chaque niveau (1 et 2) de chaque facteur (a & b) et de chaque niveau de chaque combinaison a * b. –