Ajout d'une ligne de tendance simple lm à un boxplot ggplot
Lors de l'ajout d'un modèle linéaire, la ligne de tendance à une boîte à moustaches en utilisant la norme de R graphique j'utilise:
boxplot(iris[,2]~iris[,1],col="LightBlue",main="Quartile1 (Rare)")
modelQ1<-lm(iris[,2]~iris[,1])
abline(modelQ1,lwd=2)
Cependant, lors de l'utilisation de cette ggplot2:
a <- ggplot(iris,aes(factor(iris[,1]),iris[,2]))
a + geom_boxplot() +
geom_smooth(method = "lm", se=FALSE, color="black", formula=iris[,2]~iris[,1])
J'obtiens l'erreur suivante:
geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?
Et la ligne n'apparaît pas sur mon terrain.
Les modèles utilisés dans ces deux scénarios sont identiques. Si quelqu'un pouvait point où je vais mal, ce serait génial.
EDIT: Utilisé l'iris jeu de données comme un exemple.
source d'informationauteur JPD
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur est assez explicite: Ajouter
aes(group=1)
àgeom_smooth
:Pour info, cette erreur peut également être rencontré (et fixe) à l'aide de la simple
qplot
interfaceggplot2
Le message d'erreur n'est pas explicatif assez pour quelques personnes au moins :-).
Dans ce cas, la clé est d'inclure uniquement le contenu de la proposition esthétique