作業データは次のようになります。
set.seed(1234)
df <- data.frame(y = rnorm(1:30),
fac1 = as.factor(sample(c("A","B","C","D","E"),30, replace = T)),
fac2 = as.factor(sample(c("NY","NC","CA"),30,replace = T)),
x = rnorm(1:30))
モデルは次のlme
ように適合されます。
library(lme4)
mixed <- lmer(y ~ x + (1|fac1) + (1|fac2), data = df)
以前bootMer
はパラメトリック ブートストラップを実行していましたが、固定効果とランダム効果の係数 (切片) と SE を正常に取得できました。
mixed_boot_sum <- function(data){s <- sigma(data)
c(beta = getME(data, "fixef"), theta = getME(data, "theta"), sigma = s)}
mixed_boot <- bootMer(mixed, FUN = mixed_boot_sum, nsim = 100, type = "parametric", use.u = FALSE)
私の最初の質問は、ブートストラップの結果から 2 つのランダム効果の個々のレベルの係数 (勾配) を取得する方法mixed_boot
ですか?
パッケージの関数をmixed
使用してモデルから係数(勾配)を抽出しても問題ありません。以下を参照してください。augment
broom
library(broom)
mixed.coef <- augment(mixed, df)
ただし、クラスオブジェクトbroom
は扱えないようです。boot
上記の関数を で直接使用することはできませんmixed_boot
。
mixed_boot_sum
また、追加して を変更しようとしましたmmList
(これが私が探しているものだと思いました) が、R は次のように不平を言います:</p>
Error in bootMer(mixed, FUN = mixed_boot_sum, nsim = 100, type = "parametric", :
bootMer currently only handles functions that return numeric vectors
また、指定することで固定効果と変量効果の両方のCIを取得することは可能FUN
ですか?
現在、自分のニーズを満たすための の正しい仕様について非常に混乱してFUN
います。私の質問に関する助けをいただければ幸いです。