Paarweise Vergleiche aller Level einer Variable in GLM?
Verfasst: Mo Okt 30, 2017 8:42 pm
Hallo liebes Forum,
vorab: ich bin kein Experte, nur einfacher R Anwender. Bitte seht mir nach wenn ich das vermeintlich Logische nicht immer gleich sehe.
Ich habe bei einem Journal ein Manuskript eingereicht, indem ich logistische (glm()) und negativ-binomiale Regressionsmodelle (glm.nb(), MASS package) verwende. Darin habe ich zwei unabhängige, kategoriale Variablen A und B mit 6 bzw. 4 Leveln, sowie eine binominale (logit) bzw. ganzzahlig diskrete (Zähl-) Variable (negbin) als abhängige Variable. Meine Stichprobengröße ist n=256 und es kommt erschwerend dazu, dass nicht für jede Level-Kombination aus den beiden Faktoren Daten existieren.
Die Modelle spucken mir ja immer die Estimates, SE und p-values für die übrigen 5 bzw. 3 Level im Vergleich zum Referenzlevel aus, wobei ich mir die 95% Wald Konfidenzintervalle berechne, indem ich die Estimates +/- die SE*1.96 rechne (dann entsprechen diese den p-Werten im Modell im Gegensatz zu confint()). Schließlich nutze ich exp(), um die Odds Ratios bzw. Rate ratios und 95%KI der verglichenen Level zu erhalten. Soweit so gut.
Der Reviewer des Journals möchte nun, dass ich die Ergebnisse für alle Level-Kombinationen innerhalb der beiden Variablen zeige, natürlich korrigiert für mehrfaches Testen, was also 15 paarweise Vergleiche für Variable A bzw. 6 für Variable B bedeutet. Mir ist klar, dass damit der alpha-Fehler massiv steigt aber ich versuchs dennoch. Er empfiehlt dazu das lsmeans package. Wenn ich das aber mit Holm-Korrektur rechne, kriege ich teilweise um den Faktor 14 erhöhte p-Werte! Das liegt aber nicht an der Holm-Korrektur, denn wenn ich es ohne Korrektur rechne sind sie imer noch viel höher als im glm output.
Kann ich nicht die beiden GLM einfach mehrmals mit 5 (Variable A) bzw. 3 (Variable B) verschiedenen Referenzlevel rechnen und dann die p-Werte manuell korrigieren? Oder habe ich die lsmeans Funktion falsch verwendet? Oder etwas völlig falsch verstanden?
Viele Grüße und Danke,
Romunkel
vorab: ich bin kein Experte, nur einfacher R Anwender. Bitte seht mir nach wenn ich das vermeintlich Logische nicht immer gleich sehe.
Ich habe bei einem Journal ein Manuskript eingereicht, indem ich logistische (glm()) und negativ-binomiale Regressionsmodelle (glm.nb(), MASS package) verwende. Darin habe ich zwei unabhängige, kategoriale Variablen A und B mit 6 bzw. 4 Leveln, sowie eine binominale (logit) bzw. ganzzahlig diskrete (Zähl-) Variable (negbin) als abhängige Variable. Meine Stichprobengröße ist n=256 und es kommt erschwerend dazu, dass nicht für jede Level-Kombination aus den beiden Faktoren Daten existieren.
Die Modelle spucken mir ja immer die Estimates, SE und p-values für die übrigen 5 bzw. 3 Level im Vergleich zum Referenzlevel aus, wobei ich mir die 95% Wald Konfidenzintervalle berechne, indem ich die Estimates +/- die SE*1.96 rechne (dann entsprechen diese den p-Werten im Modell im Gegensatz zu confint()). Schließlich nutze ich exp(), um die Odds Ratios bzw. Rate ratios und 95%KI der verglichenen Level zu erhalten. Soweit so gut.
Der Reviewer des Journals möchte nun, dass ich die Ergebnisse für alle Level-Kombinationen innerhalb der beiden Variablen zeige, natürlich korrigiert für mehrfaches Testen, was also 15 paarweise Vergleiche für Variable A bzw. 6 für Variable B bedeutet. Mir ist klar, dass damit der alpha-Fehler massiv steigt aber ich versuchs dennoch. Er empfiehlt dazu das lsmeans package. Wenn ich das aber mit Holm-Korrektur rechne
Code: Alles auswählen
lsmeans(model,pairwise~A,adjust="holm")
Code: Alles auswählen
lsmeans(model,pairwise~A)
Kann ich nicht die beiden GLM einfach mehrmals mit 5 (Variable A) bzw. 3 (Variable B) verschiedenen Referenzlevel rechnen und dann die p-Werte manuell korrigieren? Oder habe ich die lsmeans Funktion falsch verwendet? Oder etwas völlig falsch verstanden?
Viele Grüße und Danke,
Romunkel