ANOVA-Fehlermeldung - models were not all fitted to the same size of dataset

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

statistikolé
Beiträge: 15
Registriert: Fr Jul 05, 2019 12:28 pm

Re: ANOVA-Fehlermeldung - models were not all fitted to the same size of dataset

Beitrag von statistikolé »

jogo hat geschrieben: Di Aug 13, 2019 11:39 am hier zwei Varianten für das Löschen von Beobachtungen mit NA:

Code: Alles auswählen

B <- BOD
B$demand[3] <- NA
B
B[!is.na(B$demand),]
na.omit(B)
Gruß, Jörg
Lieber Jörg

Ich habe nun etwas rumgegooglet bezüglich meinem Problem und meinte, dass mein Befehl

Code: Alles auswählen

na.action=na.omit
welchen ich ja ganz am Schluss in meinem Modell habe gar nicht ausgeführt wird. Kann das sein? Weil grundsätzlich entferne ich damit ja die NAs aus meinen Daten und so sollten beide Modelle ja dann gleich lang sein.

Hier noch einmal meine Befehle:

Code: Alles auswählen

M1_T <- lmer(formula = log(PSQI_globalindex) ~ Zeitpunkt_f + (1|Participant_ID), data = DATA_Long, REML = FALSE, na.action = na.omit)
summary(M1_T)

M2_T <- lmer(formula = log(PSQI_globalindex) ~ Zeitpunkt_f + Testosterone + (1|Participant_ID), data = DATA_Long, REML = FALSE, na.action = na.omit)
summary(M2_T)
##
anova(M1_T, M2_T)
Einen Input, den ich im Internet gefunden habe, ist, dass man den Befehl "na.action" bei einem dataframe nicht anwenden kann. Stimmt das?

Liebe Grüsse und vielen Dank
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: ANOVA-Fehlermeldung - models were not all fitted to the same size of dataset

Beitrag von jogo »

Hallo Olé,

in Deinem Fall ist, wenn es so stimmt, na.action= kein Befehl sondern ein Parameter einer Funktion. Nämlich der Funktion lmer().
ja, es gibt diesen Parameter:
https://www.rdocumentation.org/packages ... opics/lmer

und der Standardwert des Parameters ist na.omit:
na.action
a function that indicates what should happen when the data contain `NA`s. The default action (`na.omit`, inherited from the 'factory fresh' value of `getOption("na.action")`) strips any observations with any missing values in any variables.


Insofern gibt es keinen Unterschied bei der Ausführung ob Du
a) na.action=na.omit setzst oder
b) den Parameter nicht angibst.

Normalerweise steht im summary drin, wieviele Beobachtungen weggelassen wurden.
Du könntest beim ersten Modell noch den Parameter subset= verwenden, um die Datenmenge gleichzuziehen:

Code: Alles auswählen

M1_T <- lmer(formula = log(PSQI_globalindex) ~ Zeitpunkt_f + (1|Participant_ID), 
   data = DATA_Long, REML = FALSE, na.action = na.omit, subset=!is.na(Testosterone))
Gruß, Jörg
Antworten