J'analyse un jeu de données de réponses binaires des participants à certaines questions. J'utilise la fonction glm
pour tester comment Var * Base_con
affecter le résultat de Dec
. Après l'ajustement, j'essaie de comparer comment le facteur "Var" affecte le résultat dans chacun des niveaux de facteur "Base_con". A la suite this vignette, je l'ai essayé ce qui suit (à défaut) approche, que je crois peut être reproduit (s'il vous plaît laissez-moi savoir si cela ne fonctionne pas):Comparaisons multiples après GLM incluant les termes d'interaction
# 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)
La sortie de la dernière commande est:
Error in glht.matrix(m1, linfct = X) :
‘ncol(linfct)’ is not equal to ‘length(coef(model))’
en effet, le nombre de colonnes et la longueur des deux éléments rapportés par le message d'erreur sont différentes:
> ncol(X)
[1] 7
> length(coef(m1))
[1] 6
C'est tout ce que je suis en mesure d'avancer jusque là. Des idées? Merci à tous.
Notez que le paquet 'lme4' ne * pas * une fonction' glm'; 'glm()' est dans le paquet de base. Si vous avez plusieurs réponses par participant, vous devez probablement utiliser 'glmer'. – gung
@gung, vous avez raison. C'est la fonction de base de 'glm'. Cette fois, il n'y a pas de mesures répétées, il n'est donc pas nécessaire d'utiliser 'glmer'. @ Silverfish, je vais essayer de modifier en utilisant un exemple reproductible, même si je ne suis pas sûr que je serai en mesure de reproduire l'erreur. –
Si * vous * ne pouvez pas reproduire l'erreur, @Lea_Casiraghi, comment * serions-nous capables de le faire? Et comment pourrions-nous trouver une solution sans reproduire l'erreur? – gung