Darstellung der Regressionsergebnisse von LME4 in R unter Verwendung von Gitter (oder etwas anderem)
-
18-09-2019 - |
Frage
Ich habe eine Regression mit LME4 dank a gepasst Vorherige Antwort. Jetzt, da ich eine Regression für jeden Zustand habe, möchte ich Gitter verwenden, um QQ -Diagramme für jeden Zustand zu zeichnen. Ich möchte auch Fehlerdiagramme für jeden Zustand in einem Gitterformat zeichnen. Wie mache ich ein Gitterdiagramm mit den Ergebnissen einer LME4 -Regression?
Unten ist ein einfaches Beispiel (ja, ich mag eine gute Alliteration) mit zwei Zuständen. Ich möchte ein zwei Panel -Gitter aus den Objektpassungen machen.
library(lme4)
d <- data.frame(state=rep(c('NY', 'CA'), c(10, 10)), year=rep(1:10, 2), response=c(rnorm(10), rnorm(10)))
fits <- lmList(response ~ year | state, data=d)
Lösung
Anstatt zu verwenden lmList
, Ich würde das allgemeinere PRYR -Paket empfehlen.
library(plyr)
d <- data.frame(
state = rep(c('NY', 'CA'), c(10, 10)),
year = rep(1:10, 2),
response = c(rnorm(10), rnorm(10))
)
# Create a list of models
# dlply = data frame -> list
models <- dlply(d, ~ state, function(df) {
lm(response ~ year, data = df)
})
# Extract the coefficients in a useful form
# ldply = list -> data frame
ldply(models, coef)
# We can get the predictions in a similar way, but we need
# to cast to a data frame so the numbers come out as rows,
# not columns.
predictions <- ldply(models, as.data.frame(predict))
predictions
ist ein regulärer R -Datenrahmen und ist daher leicht zu zeichnen.
Andere Tipps
Ich bin mir nicht sicher, ob Sie dies leicht in Gitter bringen können. Was du hast fits
ist ein S4 -Objekt, das einen .data -Slot mit einer Liste von enthält Standard lm
Objekte:
R> class(fits)
[1] "lmList"
attr(,"package")
[1] "lme4"
R> class(fits@.Data)
[1] "list"
R> class(fits@.Data[[1]])
[1] "lm"
R> op <- par(mfrow=c(2,4))
R> invisible(lapply(fits@.Data, plot))
Diese letzte Handlung plant einfach das Standard -2x2 -Diagramm für lm
Objekte zweimal, einmal für jedes Element der Liste der angepassten Objekte. Verwenden Sie das which
Argument an plot
Auswahl von Teilmengen dieser oder für andere Regressionsdiagnostik.
Wenn Sie tatsächlich wollen lattice
Diagramme von vorhergesagten gegen tatsächlichen, müssen Sie dies möglicherweise programmieren.
Ich hatte einige Probleme mit LME4 :: LMLIST. Beispielsweise scheint die Zusammenfassung nicht zu funktionieren. Sie könnten also auf einige Probleme stoßen.
Obwohl ich LMer anstelle von LME benutze, habe ich stattdessen explizit NLME :: LMLIST angerufen. Dann wird eine Zusammenfassung usw. funktionieren.