私はある種の質問に対する参加者のバイナリの回答のデータセットを分析しています。私はDec
の結果にVar * Base_con
がどのように影響するかをテストするためにglm
関数を使用しています。フィット後、 "Var"因子が "Base_con"因子レベルのそれぞれの結果にどのように影響するかを比較しようとしています。 this vignetteに続いて、私は私が再現できると信じて、次の(失敗)アプローチ、(それが動作しない場合は私に知らせてください)を試してみました:インタラクションの用語を含むGLMの後の複数の比較
# 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)
の最後のコマンドの出力は次のとおりです。
Error in glht.matrix(m1, linfct = X) :
‘ncol(linfct)’ is not equal to ‘length(coef(model))’
効果は、エラーメッセージによって報告された2つの素子の列の数と長さが異なっている:私は前進することができたすべてのある
> ncol(X)
[1] 7
> length(coef(m1))
[1] 6
これまでのところ。何か案は?ありがとうございます。あなたの目的はBase_con
とVar
の相互作用の効果を比較する場合は、より直接的な方法は、これらの相互作用のための新しい用語を作成するかもしれ
注意。 'glm()'は基本パッケージにあります。参加者ごとに複数の回答がある場合は、おそらく 'glmer'を使う必要があります。 – gung
@gung、そうです。それは基本的なglm関数です。今回は繰り返し対策がないので、 'glmer'を使う必要はありません。 @ Silverfish、再現可能な例を使用して編集しようとしますが、エラーを再現できるかどうかはわかりません。 –
*あなた*が@Lea_Casiraghiというエラーを再現できない場合、どうすれば*できますか?エラーを再現しないで解決策を見つけることができますか? – gung