Ich analysiere einen Datensatz von Teilnehmern binäre Antworten auf bestimmte Fragen. Ich verwende die glm
Funktion, um zu testen, wie Var * Base_con
das Ergebnis von Dec
beeinflussen. Nach der Anpassung versuche ich zu vergleichen, wie der "Var" -Faktor das Ergebnis in jedem der "Base_con" -Faktorstufen beeinflusst. Nach this vignette habe ich die folgende (andernfalls) Ansatz versucht, die ich glauben kann, dass reproduziert werden (bitte lassen Sie mich wissen, wenn es nicht funktioniert):Mehrere Vergleiche nach GLM mit Interaktionstermen
# load example dataset with relevant columns
require(RCurl)
my_csv = getURL("https://docs.google.com/spreadsheets/d/1sBVW7QbnfumeRmY1uEDdiDNJE7QfmCXH0wMmV2lZSH4/pub?gid=0&single=true&output=csv")
eg_data = read.csv(textConnection(my_csv))
# set columns as factors because they are numerically coded
eg_data$Base_con = as.factor(eg_data$Base_con)
eg_data$Var = as.factor(eg_data$Var)
eg_data$Dec = as.factor(eg_data$Dec)
# GLM fit
m1 = glm(Dec ~ Var * Base_con, data = eg_data, family = "binomial")
# strategy for Tukey multiple comparisons
require(multcomp)
tmp = expand.grid(Base_con = unique(eg_data$Base_con), Var = unique(eg_data$Var))
X = model.matrix(~Base_con : Var, data = tmp)
mc = glht(m1, linfct = X)
Der Ausgang für den letzten Befehl lautet:
Error in glht.matrix(m1, linfct = X) :
‘ncol(linfct)’ is not equal to ‘length(coef(model))’
Tatsächlich wird die Anzahl der Spalten und Länge der beiden Elemente durch die Fehlermeldung gemeldet sind unterschiedlich:
> ncol(X)
[1] 7
> length(coef(m1))
[1] 6
, dass alles, was ich in der Lage gewesen voran bisher. Irgendwelche Ideen? Dank an alle.
Beachten Sie, dass die 'lme4' Paket * nicht * eine' glm' Funktion; 'glm()' ist im Basispaket enthalten. Wenn Sie mehrere Antworten pro Teilnehmer haben, müssen Sie vermutlich 'glmer' verwenden. – gung
@gung, du hast Recht. Es ist die grundlegende 'Glm'-Funktion. Dieses Mal gibt es keine wiederholten Takte, es ist also nicht nötig, 'glmer' zu verwenden. @Silverfish, ich werde versuchen, mit einem reproduzierbaren Beispiel zu bearbeiten, obwohl ich nicht sicher bin, ob ich den Fehler reproduzieren kann. –
Wenn * you * den Fehler @Lea_Casiraghi nicht reproduzieren kann, wie können * wir * dies tun? und wie könnten wir eine Lösung finden, ohne den Fehler zu reproduzieren? – gung