Hinzufügen einer einfachen lm-Trendlinie zu einem ggplot-Boxplot

Beim Hinzufügen einer linearen Modelltendenzlinie zu einem Boxplot unter Verwendung von Standard-R-Grafiken verwende ich:

boxplot(iris[,2]~iris[,1],col="LightBlue",main="Quartile1 (Rare)")
modelQ1<-lm(iris[,2]~iris[,1])
abline(modelQ1,lwd=2)

Wenn Sie dies jedoch in ggplot2 verwenden:

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])

Ich erhalte folgenden Fehler:

geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?

Und die Linie erscheint nicht auf meiner Handlung.

Die in diesen beiden Szenarien verwendeten Modelle sind identisch. Wenn jemand darauf hinweisen könnte, wo ich falsch liege, wäre das großartig.

BEARBEITEN: Verwendete den Iris-Datensatz als Beispiel.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage