R: Parcelle de multiples boîte de parcelles à l'aide de colonnes de données d'image
Je voudrais tracer un diagramme en boîte INDIVIDUELLE pour chaque indépendants colonne dans une trame de données. Je pensais que j'étais sur la bonne voie avec boxplot.matrix
de la sfsmsic
paquet, mais il semble faire la même chose que boxplot(as.matrix(plotdata)
qui est de l'intrigue tout sont partagés dans une boîte à moustaches avec un partagées à l'échelle sur l'axe. Je veux dire) 5 parcelles individuelles.
Je pourrais le faire à la main comme:
par(mfrow=c(2,2))
boxplot(data$var1
boxplot(data$var2)
boxplot(data$var3)
boxplot(data$var4)
Mais il doit y avoir un moyen d'utiliser le bloc de données, les colonnes?
EDIT: j'ai utilisé des itérations, voir ma réponse.
OriginalL'auteur gisol | 2012-07-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
reshape
paquet pour simplifier les chosesou même alors utiliser
ggplot2
paquet pour rendre les choses plus agréablemelt
etstack
?OriginalL'auteur Jase_
De
?boxplot
nous voyons que nous avons la possibilité de passer plusieurs vecteurs de données comme les éléments d'une liste, et nous aurons plusieurs boxplots, un pour chaque vecteur dans notre liste.Donc, tout ce que nous devons faire est de convertir les colonnes de notre matrice à une liste:
Si vous voulez vraiment panneaux séparés, chacun avec une seule boîte à moustaches (même si, franchement, je ne vois pas pourquoi vous voulez le faire), je serais à la place tourner vers ggplot et le facettage:
L'utilisation de ce renvoie toujours une intrigue unique avec de multiples x catégories. Je suis en train de faire de séparer les parcelles pour chaque x catégorie a trouvé dans une matrice.
par(mfrow=c(2,5)) boxplot(x = as.list(as.data.frame(plotdata)))
est le code que j'ai utilisé, où plotdata est un ...x9 double matrice.Voir mon edit.
Je veux séparer les parcelles parce qu'ils sont séparés sans rapport avec les variables à différentes échelles. Tracées tous ensemble, on domine les autres et vous obtenez 8 écrasé illisible parcelles et une seule grande. Je veux 9 parcelles différentes, qui pourrait être facilement atteint donné le code dans ma question initiale. Cependant, je m'attendais à accélérer les choses en automatisant ce processus en se R pour faire un diagramme en boîte de chaque variable (colonne) dans une trame de données.
Dans ce cas, si vous décidez d'utiliser ggplot vous voudrez probablement utiliser
scales = "free_y"
lors de la recherche à facettes.OriginalL'auteur joran
J'ai utilisé itération pour ce faire. Je pense que peut-être je n'étais pas clair dans la question d'origine. Merci pour les réponses n'en est pas moins.
OriginalL'auteur gisol