conditionnellement regroupés à partir histogrammes mon jeu de données
-
19-09-2019 - |
Question
Mon data.df
courant de jeu de données est d'environ 420 étudiants qui ont pris une enquête en 8 questions dans l'une des 3 instructeurs. escore
est ma variable de résultat d'intérêt.
'data.frame': 426 obs. of 10 variables:
$ ques01: int 1 1 1 1 1 1 0 0 0 1 ...
$ ques02: int 0 0 1 1 1 1 1 1 1 1 ...
$ ques03: int 0 0 1 1 0 0 1 1 0 1 ...
$ ques04: int 1 0 1 1 1 1 1 1 1 1 ...
$ ques05: int 0 0 0 0 1 0 0 0 0 0 ...
$ ques06: int 1 0 1 1 0 1 1 1 1 1 ...
$ ques07: int 0 0 1 1 0 1 1 0 0 1 ...
$ ques08: int 0 0 1 1 1 0 1 1 0 1 ...
$ inst : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
$ escore: int 3 1 5 5 3 3 4 4 2 5 ...
Je me demande comment je peux générer histogrammes escore
qui sont séparés conditionnellement en fonction de la valeur de inst
pour une observation donnée. Dans ma tête, le pseudo-code pourrait ressembler à ceci:
par(mfrow=c(1,3))
hist(escore, data.df$inst = 1)
hist(escore, data.df$inst = 2)
hist(escore, data.df$inst = 3)
mais bien sûr, cela ne fonctionnera pas: - (
Idéalement, mes histogrammes se présente comme suit:
Comme d'habitude, je sens il doit y avoir un moyen facile de le faire. Quelle que soit « conditionnel / groupement » sens que je peux extraire ces graphiques de mes données, je suppose qu'il est got pour être généralisables pour toutes sortes de parcelles que vous voudriez faire en fonction de certaines conditions.
En outre, je suis vraiment désolé si cette question a été répondu avant. Ma principale difficulté est de trouver comment demander d'une manière qui fait sens.
Merci d'avance pour votre aide!
La solution
Utiliser le paquet de réseau:
library(lattice)
histogram( ~ escore | inst, data=X)
si X
est votre objet data.frame.
Autres conseils
Vous pouvez aussi le faire en ggplot2:
data.df <- data.frame(inst = factor(sample(3, 426, replace=TRUE)),
escore = sample(5, 426, replace=TRUE))
qplot(escore, fill=inst, data=data.df) + facet_wrap(~inst, ncol=3)