Seite 1 von 1

lme lines

Verfasst: Mi Nov 07, 2018 5:28 pm
von ga84pew
Hallo zusammen,
ich arbeite gerade an einem lme mit folgenden Daten
y x1 x2
10 1 100
20 2 200
30 3 300
40 4 400
50 5 500
11 1 100
19 2 200
30 3 300
43 4 400
49 5 500

und dem model: model <- lme(y~x2,random = ~1|x1)

aus dem plot y~x2 ergibt sich dann die angehängte Grafik Punkte

Kann mit jemand den Befehl um die Regressionslinie in die Grafik einzuzeichen erklären? (mit visreg ist es kein Problem, siehe Grafik visreg)

Ich habe schon folgendes versucht, komme aber zu einem mir nicht erklärbaren Ergebnis
plot(x2,y,type="n",ylab = "y", xlab = "x2",ylim = c(0,50),xlim = c(0,500))
points(y~x2)
smoothx <- seq(0,500, length=10)
length(smoothx)
smoothy <- predict(model, x2 =smoothx)
length(smoothy)
lines(smoothx, smoothy)

Re: lme lines

Verfasst: Mi Nov 07, 2018 8:05 pm
von EDi
Nunja mit einem gemischten (oder auch multilevel) Model ist das ein wenig komplexer als beim standard linearen model.
Zuerst musst du klären, auf welchem level du die predictions haben willst- Nur auf den fixed effects oder für jeden random effect?
Also nur eine Linie (der random effect ist 0) oder mehrere Linien (verschoben um den geschätzten random intercept von jeder gruppe)?

Re: lme lines

Verfasst: Mi Nov 07, 2018 8:18 pm
von ga84pew
Nur eine Linie.
Ich bin mittlerweile etwas weite gekommen:
Die Fehlerquelle scheint bei den newdata im predict zu sein? Woraus ergibt sich das level? Ich hab jetzt einfach 0 genommen, weil es so funktioniert, weiß aber nicht warum.

smoothx <- seq(0,500, 0.1)
smoothy <- predict(model,list(x2=smoothx),level=0)
smoothyback <- exp(smoothy)
lines(smoothx, smoothy)

Re: lme lines

Verfasst: Do Nov 08, 2018 8:58 am
von EDi
Die Fehlerquelle scheint bei den newdata im predict zu sein
Unter Anderem. Normalerweise ist newdata ein dataframe mit den Prädikatoren (x1 und x2 hier).
Ein data.frame ist auch eine liste, deshalb geht auch eine Liste hier (würde ich aber nicht generell empfehlen).
Woraus ergibt sich das level? Ich hab jetzt einfach 0 genommen, weil es so funktioniert, weiß aber nicht warum.
Hab ich oben schon erklärt. Da du in newdata keine x1 übergbst, kannst du auf dem random effect (level) keine vorhersagen machen. du machst sie auf dem kleinsten level (fixed effects).