Quando si aggiunge una linea di tendenza modello lineare di un grafico a scatole utilizzando grafica standard R utilizzo:Aggiunta di una semplice linea di tendenza lm ad un ggplot boxplot
boxplot(iris[,2]~iris[,1],col="LightBlue",main="Quartile1 (Rare)")
modelQ1<-lm(iris[,2]~iris[,1])
abline(modelQ1,lwd=2)
Tuttavia, quando si utilizza questo 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])
ottengo il seguente errore:
geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?
E la linea non appare sul mio terreno.
I modelli utilizzati in entrambi questi scenari sono identici. Se qualcuno potesse indicare dove sto andando male, sarebbe fantastico.
MODIFICA: ha utilizzato il set di dati dell'iride come esempio.
Ah ok, non sapevo la formula ha dovuto essere sostituito con esso. Grazie per aver risolto questo. – JPD
Si noti che non ho "sostituito" la formula. La formula non era necessaria, quindi l'ho rimossa. – Andrie
Pet peeve: "il messaggio di errore è auto-esplicativo". Se fosse un OP auto-esplicativo, non avrebbe mai fatto la domanda per cominciare. – Twitch