Darstellung der Regressionsergebnisse von LME4 in R unter Verwendung von Gitter (oder etwas anderem)

StackOverflow https://stackoverflow.com/questions/1297698

  •  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)
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top