2016-03-21 3 views
1

Ich benutze Lme4-Paket, um gemischte Modell zu laufen. Ich möchte das Ergebnis der festen Wirkung und den Zufallseffekt in einem separaten Datensatz extrahieren, so dass wir es für weitere Analysen verwenden können. Aber leider konnte ich nicht.Extract Fixed Effect und zufälliger Effekt in Dataframe

z.

mixed_result<- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy) 

ich versuchte festen Wirkung und zufälligen Effekt unter Verwendung der folgenden Methode zu extrahieren:

fixEffect<-fixef(mixed_result) 
randEffect<-ranef(mixed_result) 

View(fixEffect) 

ich versuchte fixef und ranef für feste Wirkung und zufälligen Effekt jeweils und versuchen, den Datensatz zu erstellen unter Verwendung des Ergebnisses von es. Aber es gab mir den folgenden Fehler:

Ich möchte eigentlich wie wir in SAS, solutionF und solutionR ausgegeben werden. Aber wenn es nicht möglich ist, eine Ausgabe auf diese Weise zu erhalten, werden die Koeffizienten von fixed und random ausreichen.

Ich werde dankbar sein, wenn mir jemand helfen kann.

Danke und Grüße,

+1

Bitte geben Sie ein reproduzierbares Beispiel mit Beispieldaten und etwas Code an. 'help (" lmer ") demonstriert, wie ein reproduzierbares Beispiel aussehen könnte. – Roland

+0

Danke Roland für deinen Kommentar. Ich aktualisiere die Frage mit einem kleinen Spielzeugbeispiel. – Beta

+0

'fixEffect' ist ein (benannter) Vektor und' randEffect' eine Liste von data.frames. 'View' kann nur mit data.frames umgehen. Sie können stattdessen "drucken". Da ich SAS nicht verwende, habe ich keine Ahnung, wie die Ausgabe aussehen soll. – Roland

Antwort

1

Verwenden str die Struktur eines Objekts zu sehen.

str(fixEffect) 
# named vector, can probably be coerced to data.frame 

View(as.data.frame(fixEffect)) 
# works just fine 


str(randEffect) 
# list of data frames (well, list of one data frame in this case) 

View(randEffect$Subject) 

Wenn Sie hatte, sagen wir, Pisten, die auch von Subject variiert, würden sie in der gleichen Subject Datenrahmen wie die Subject Ebene fängt gehen. Wenn die Abschnitte jedoch auch durch eine andere Variable group mit einer anderen Anzahl von Ebenen als Subject geändert wurden, konnten sie offensichtlich nicht in denselben Datenrahmen gehen. Aus diesem Grund wird eine Liste von Datenrahmen verwendet, so dass die gleiche Struktur für komplexere Modelle verallgemeinert werden kann.

+0

Danke für deine Antwort Gregor! Ihre Antwort erfüllt vollständig, was ich gefragt habe. Aber ist es möglich, die p-Werte der Koeffizienten für feste und zufällige Effektmodelle zu erhalten? – Beta

+0

Wahrscheinlich ... aber nicht leicht. Ich habe 'arm :: se.ranef' verwendet, um die Standardfehler im selben Format zu erhalten. Das "Besen" -Paket soll das vereinfachen, z. B. "broom :: tidy (mixed_results, effects =" ran_modes ")", aber ich habe gerade kein Glück dabei. Es kann sein, weil mein Arbeitscomputer eine ältere Version von R hat. Sie können sehen, wie es [hier] funktionieren sollte (https://github.com/dgrtwo/broom/issues/96). – Gregor

+0

Danke Gregor für all deine Hilfe! In meinem Fall hat "ordentlich" funktioniert. – Beta