2016-06-02 3 views
-2

Ich versuche, diese boxplots von einem linearen Regressionsmodell-Ausgang zu reproduzieren. Mein Modell und der Code, den ich benutzt habe, sind unten. Ich bekomme diesen Fehler "Ästhetik muss entweder die Länge 1 oder die gleiche wie die Daten (500) sein." Was mache ich falsch? Bitte helfen Sie!Ästhetik muss entweder Länge 1 oder die gleiche wie die Daten sein (500)

out <- lm(L_SHUCK ~ L_VOLUME+CLASS, data = mydata) 

r <- residuals(out) 

ggplot(out , aes (x = CLASS , y = r, group = CLASS)) + geom_boxplot() 
+0

Bitte geben Sie ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) an. – Uwe

Antwort

3

Sie können nicht wirklich nur in der Ausgabe des lm Objekts setzen, dies zu tun. Sie müssen etwas in dieser Richtung tun:

out = lm(mpg ~ wt + as.factor(am), mtcars) 
r = residuals(out) 
mtcars$residuals = r 

ggplot(mtcars) + geom_boxplot(aes(x = as.factor(am), y = residuals)) 

Ich denke, ein gutes ggplot2 Tutorial würde Ihnen helfen, zu verstehen, was genau vor sich geht, zum Beispiel this one I wrote.

+1

Ausgezeichnete Einführung. Vielen Dank für den Link. – Uwe

+0

@UweBlock Danke, gut zu hören, dass die Tutorials für Sie arbeiten! –

+0

@PaulHiemstra Vielen Dank für das Tutorial. es funktioniert jetzt. – Alger

Verwandte Themen