モデル式でそれらを列挙するのが面倒になるように、多数の予測子を使用してモデルを適合させようとしています。これは、lm() を使用して簡単に行うことができます。
indicatorMatrix <- data.frame(matrix(rbinom(26000, 1, 1/3), ncol = 26))
colnames(indicatorMatrix) <- LETTERS
someDV <- rnorm(nrow(indicatorMatrix))
head(indicatorMatrix)
# One method, enumerating variables by name:
olsModel1 <- lm(someDV ~ A + B + C + D, # ...etc.
data = indicatorMatrix)
# Preferred method, including the matrix of predictors:
olsModel2 <- lm(someDV ~ as.matrix(indicatorMatrix))
summary(olsModel2)
非常に多数の予測変数 (この発明された例では 26 を超える) があるため、最初の例 ( someDV ~ A + B + C + D...
) のようにそれらを個別にリストしたくありません。予測変数を含めるだけでこれを回避できas.matrix
ます。
ただし、次のような混合効果モデルを当てはめたいです。
library(lme4)
meModel1 <- lmer(someDV ~ (1 | A) + (1 | B) + (1 | C), # ...etc.
data = indicatorMatrix)
summary(meModel1)
多数のランダム効果項を含めたいことを除いて。と入力するのではなく、上記(1 | A) ... (1 | ZZZ)
で使用した行列アプローチに似た方法で各予測子を含めたいと思いolsModel2
ます。以下は、明らかに機能しません。
meModel2 <- lmer(someDV ~ (1 | as.matrix(indicatorMatrix)))
lmer() を使用したランダム効果の行列予測アプローチを最もよく再現する方法について何か提案はありますか? 私は、「実用的な」解決策 (つまり、ハック) を喜んで検討します。ただし、それらが「プログラム的」であり、コピー & ペーストなどを必要としない限りは。
お時間をいただきありがとうございます。