Rの複数の従属変数を使用して一般化線形モデルを実行する方法は?


17

6つの従属変数(カウントデータ)といくつかの独立変数があります。MMRでは、スクリプトは次のようになります。

my.model <- lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn)

しかし、私のデータはカウントなので、一般化された線形モデルを使用したいので、これを試しました:

my.model <- glm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn, family="poisson")

そして、このエラーメッセージが表示されます:

Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  : 
  (subscript) logical subscript too long`

誰も私にこのエラーメッセージや私の問題を解決する方法を説明できますか?


@Giorgio Spedicatoの答えにフォローアップ:している私たちは、前述したように、あなたが個別に各従属変数を扱うモデルのセットをしたいですかと仮定してlm、あなたがそれマトリックス与えない場合には?
共役前

分析の2番目の部分が恋しいです。MMR(多変量重回帰分析)後:する lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) 必要があります
フアン

私は可能性があるだけで、この質問に答えるために私の答えを調整しています。また、コメントでReturnキーを押さないでください:-)
共役

分析の2番目の部分が恋しいです。MMR(多変量多重回帰)後: lm(cbind(DV1,DV2,DV3,DV4,DV5,DV6) ~ IV1 + IV2 + ... + IVn) 次のようにmanova()コマンドを使用する必要があります。 summary(manova(my.model)) 多変量分散分析を行い、各独立変数の有意性を確認します。それが最終的な目標です。
フアン

この種のデータにはマノバもアノーバも定義されていないため、提供されていません。ただし、各IVの影響を確認したい場合は、提供さsummaryれる回帰表により、各DVごとにそれらが提供されます。
共役前

回答:


11

短い答えは、それはそのglmように機能しないということです。lm作成されます。mlmあなたはそれを行列を与える場合は、オブジェクトを、これは広くジェネリックではサポートされていないので、とにかく簡単に一般化できなかったglmユーザーは、ロジスティック回帰モデルのための二重の列従属変数を指定できるようにする必要があるため。

解決策は、モデルを個別に適合させることです。IVとDV ddが呼び出されたdata.frame に存在し、質問のとおりにラベル付けされていると仮定します。次のコードは、使用する従属変数の名前でインデックス付けされたフィットモデルのリストを作成します。

models <- list()
dvnames <- paste("DV", 1:6, sep='')
ivnames <- paste("IV", 1:n, sep='') ## for some value of n

for (y in dvnames){
  form <- formula(paste(y, "~", ivnames))
  models[[y]] <- glm(form, data=dd, family='poisson') 
}

結果を調べるにはlapply、次のように通常の関数をa でラップするだけです。

lapply(models, summary) ## summarize each model

Rでこれを行うよりエレガントな方法は間違いありませんが、それはうまくいくはずです。


6

私はあなたの問題に対処する多変量一般化線形(混合)モデルが存在すると言われました。私はそれについての専門家ではありませんが、SABERのドキュメントと多変量GLMに関するこの本をご覧ください。たぶん彼らは助けます...


2
興味深いポイント(+1)が表示されます。多変量GLMは確かに存在します。一方、与えlm従属変数の行列は、おそらく多変量モデルの表現としてよりも、より多くのシンタックスシュガーとして見られるべきである:それがあればした多変量(ノーマル)モデルには、エラー'が1になるだろうつまり、従属変数の各要素に対して別々の回帰を実行し、同じ答えを得ることができたものです。
共役前
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.