Barplot avec des différences et des interactions significatives?
Je voudrais visualiser mes données et analyse de VARIANCE de la statistique. Il est courant de le faire à l'aide d'un barplot avec ajout de lignes indiquant des différences significatives et les interactions. Comment voulez-vous faire de la parcelle comme ceci en utilisant la R?
C'est ce que je voudrais:
Différences significatives:
Interactions significatives:
Fond
Je suis actuellement en utilisant barplot2{ggplots}
pour tracer des bars et des intervalles de confiance, mais je suis prêt à utiliser n'importe quel paquet/procédure pour obtenir le travail fait. Pour obtenir les statistiques, je suis actuellement en utilisant TukeyHSD{stats}
ou pairwise.t.test{stats}
pour des différences, et de l'analyse de variance des fonctions (aov
ezANOVA{ez}
gls{nlme}
) pour les interactions.
Juste pour vous donner une idée, c'est mon terrain:
source d'informationauteur Jonas Lindeløv
Vous devez vous connecter pour publier un commentaire.
Que vous êtes à l'aide de la fonction
barplot2()
de la bibliothèquegplots
va donner l'exemple à l'aide de cette approche.Tout d'abord, faites barplot, telle que donnée dans le fichier d'aide de
barplot2()
fonction.ci.l
etci.u
sont des faux intervalle de confiance des valeurs. Barplot doit être enregistré en tant qu'objet.Si vous regardez sur l'objet
mp
il contient les coordonnées x pour toutes les barres.Maintenant j'utilise la partie supérieure de l'intervalle de confiance des valeurs pour calculer les coordonnées pour les valeurs y de segments. Segments de démarrage à la position qui est supérieur de 1 alors à la fin de l'intervalle de confiance.
y.cord
contient quatre rangées de première et de deuxième ligne correspondent à la première barre et deux autres lignes à la seconde barre. La plus haute valeur de y est calculée à partir de la maximale, les valeurs des intervalles de confiance pour chaque barre de paire.x.cord
valeurs il suffit de répéter les mêmes valeurs qui sont dansmp
de l'objet, de chaque 2 fois.Après barplot est fait usage
sapply()
faire cinq segments de ligne (parce que cette fois il y a 5 groupes) calculé à l'aide de coordonnées.Pour tracer des textes ci-dessus les segments de calculer les coordonnées x et y, où x est le point milieu des deux valeurs x et y de la valeur est calculée à partir de la maximale, les valeurs des intervalles de confiance pour chaque barre paire plus une constante. Ensuite, utilisez la fonction
text()
pour ajouter de l'information.Je suppose que maintenant, votre question a été plus ou moins abordé, donc je vais plutôt vous encourager à utiliser l'autre méthode qui est beaucoup mieux dans la représentation visuelle de vos données - dotplots. Comme un exemple comparez votre barplot pour le dotplot construit avec les mêmes points de données:
Comparer à barplot. Dans le dotplot, il est beaucoup plus facile de voir les différences lorsque tracées horizontalement, vous n'avez pas besoin de plus de légende ou de bars ou de couleurs, pour vous montrer les conditions, vous n'avez pas besoin de lignes directrices et d'autres bruyant éléments. Vous avez tout ce qui est contenu à l'intérieur de ces trois panneaux. Bien sûr, je comprends que vous pourriez mettre en avant vos effets significatifs, et que peut-être il fonctionne très bien pour un petit nombre de conditions. Mais si le nombre de facteur augmente, la parcelle de débordement avec des étoiles et de la merde.
Garder les choses simples. Garder dotplot. Vérifier William Cleveland et Edward Tufte livres pour en savoir plus sur cette.
Je recommande d'utiliser ggplot au lieu de barplot, et vous pouvez construire des lignes manuellement comme ceci:
Ce est de commencer avec un ensemble de données.le tableau comme suit:
les données.table utilisée
parcelle de sortie