2017-03-22 1 views
0

Ich habe gesehen, dass einige Leute auch dieses Problem hatten, aber ich habe die gegebenen Antworten wirklich nicht verstanden.anova.mer Mod (mod_null, mod_eins): Modelle wurden nicht alle auf die gleiche Größe des Datensatzes angepasst

Ich habe einige lineare gemischte Modelle angefangen mit dem "nur abfangen" -Modell. Anschließend wollte ich weitere Variablen hinzufügen. Wenn ich versuche, die Modelle zu vergleichen, war der R out put "Modelle wurden nicht alle auf die gleiche Größe des Datensatzes angepasst". Was muss ich tun, um Daten in demselben Datensatz zu speichern?

Die R Syntax:

mod_zero <- lmer(quality ~ 1 + (1|subject_id)) 
summary(mod_zero) 
mod_one <- lmer(quality ~ ps + an + int + ch + boredom + (1|subject_id),dat) 
summary(mod_one) 
anova(mod_zero, mod_one) 

na.rm Hinzufügen = T nicht helfen. Hat jemand eine Idee?

+1

Versuchen Sie, Ihre Frage zu formatieren (es gibt Formatierungsoptionen für Code). Das Hinzufügen des Tags R wird ebenfalls sehr hilfreich sein. Versuchen Sie auch, auf die Fragen zu verlinken, die Ihnen nicht geholfen haben und erklären Sie, welchen Teil Sie nicht bekommen haben. Versuchen Sie schließlich, ein reproduzierbares Beispiel zu erstellen: http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – takje

Antwort

0

Der Fehler wird wahrscheinlich durch das Vorhandensein fehlender Daten in einem oder mehreren Prädiktoren im zweiten Modell verursacht. Diese Beobachtungen werden aus dem zweiten Modell entfernt (wodurch ein anderer Datensatz erstellt wird, der eine Teilmenge der ursprünglichen Daten darstellt), und Sie können zwei Modelle, die zu verschiedenen Datensätzen passen, nicht sinnvoll vergleichen. Um beide Modelle zu vergleichen, müssen Sie das erste Modell an ein Dataset anpassen, ohne Daten zu ps, an, int, ch, Langeweile zu verpassen. Versuchen Sie:

dat2 <- dat[which(complete.cases(dat[,c('ps', 'an', 'int', 'ch', 'boredom')])),] 

mod_zero <- lmer(quality ~ 1 + (1|subject_id), dat2) 
mod_one <- lmer(quality ~ ps + an + int + ch + boredom + (1|subject_id),dat2) 

anova(mod_zero, mod_one) 

Dies löst den Fehler, aber Sie sollten sich fragen, warum es Daten fehlt. Das Entfernen fehlender Daten könnte Ihre Ergebnisse abhängig vom fehlenden Datenmechanismus beeinflussen. Wenn Sie viele fehlende Daten haben, die systematisch mit Ihrer Ergebnisvariablen verknüpft sind, wird dies Ihre Modellschätzungen verzerren und Sie müssen nach Wegen suchen, diese Verzerrung zu reduzieren (z. B. Mehrfachimputation). Graham hat eine Menge Bücher und Artikel geschrieben, die verschiedene fehlende Datenmechanismen und -lösungen erklären. Ein Vergleich der Ausgabe von mod_zero auf dat und dat2 kann einen ersten Hinweis auf eine mögliche Verzerrung geben (obwohl eine ähnliche Ausgabe die Abwesenheit von Verzerrung nicht gewährleistet).

+0

Vielen Dank! Das hat wirklich geholfen! Ich habe jetzt eine Idee, wie man die R-Syntax für die anderen Modellvergleiche erstellt. :-) Du hast meinen Tag gerettet! :-) Zu den fehlenden Daten: Für ps, an, int, ch und boredem gibt es jeweils 1071 Einträge. Bei ps und a gibt es 9 fehlende Werte, für ch 6 Werte und keine Werte fehlen für int. Sie haben natürlich recht: Fehlende Werte wirken sich auf die Ergebnisse aus. Fehlende Werte liegen unter 1%. Wenn keine Daten vorhanden sind, haben die Leute keine Antwort auf diese Frage gegeben. – Andrea

Verwandte Themen