新しい lme4 パッケージ (現在の開発者バージョン) の新しい bootMer() 機能を使用したいと考えています。私は R を初めて使用し、その FUN 引数に対してどの関数を記述すればよいかわかりません。数値ベクトルが必要だと言っていますが、その関数が何を実行するのかわかりません。したがって、bootMer() にキャストされる混合モデル式があり、多数の複製があります。その外部関数が何をするのかわかりませんか?メソッドをブートストラップするためのテンプレートになるはずですか? bootMer にはブートストラップ メソッドが既に実装されていませんか? では、なぜ彼らは外部の「関心のある統計」を必要とするのでしょうか? そして、どの統計を使用すればよいでしょうか?
次の構文は適切ですか? R は、FUN が数値ベクトルでなければならないというエラーを生成し続けます。見積もりを「適合」から分離する方法がわかりません。そもそもそれを行う必要がありますか? その「楽しい」議論で迷っているとしか言えません。また、変数「Mixed5」を使用して混合モデルの glmer() 式を渡す必要があるのか 、それともポインターと参照を渡す必要があるのか わかりませんか?例を見ると、X (bootMer() の最初の引数は *lmer() オブジェクトです。*Mixed5 を書きたかったのですが、エラーが発生しました。
どうもありがとう。
私のコードは次のとおりです。
library(lme4)
library(boot)
(mixed5 <- glmer(DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Trt)^2
+ (1 | PatientID) + (0 + Trt | PatientID)
, family=binomial(logit), MixedModelData4))
FUN <- function(formula) {
fit <- glmer(DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Trt)^2
+ (1 | PatientID) + (0 + Trt | PatientID)
, family=binomial(logit), MixedModelData4)
return(coef(fit))
}
result <- bootMer(mixed5, FUN, nsim = 3, seed = NULL, use.u = FALSE,
type = c("parametric"),
verbose = T, .progress = "none", PBargs = list())
result
FUN
fit
そしてエラー:
Error in bootMer(mixed5, FUN, nsim = 3, seed = NULL, use.u = FALSE, type = c("parametric"), :
bootMer currently only handles functions that return numeric vectors
-------------------------------------------------- - - - アップデート - - - - - - - - - - - - - - - - - - - - - - ----------
ベンが指示したようにコードを編集しました。コードは非常にうまく実行されましたが、SE とバイアスはすべてゼロでした。また、この出力から P 値を抽出する方法を知っていますか (私には奇妙です)。afex パッケージの mixed() を使用する必要がありますか?
私の修正されたコード:
library(lme4)
library(boot)
(mixed5 <- glmer(DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Trt)^2
+ (0 + Trt | PatientID)
, family=binomial(logit), MixedModelData4))
FUN <- function(fit) {
fit <- glmer(DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Trt)^2
+ (1 | PatientID) + (0 + Trt | PatientID)
, family=binomial(logit), MixedModelData4)
return(fixef(fit))
}
result <- bootMer(mixed5, FUN, nsim = 3)
result
-------------------------------------------------- ------ アップデート 2 ------------------------------------------ -----------
次のことも試しましたが、コードは警告を生成し、結果は得られませんでした。
(mixed5 <- glmer(DV ~ Demo1 +Demo2 +Demo3 +Demo4 +Trt
+ (1 | PatientID) + (0 + Trt | PatientID)
, family=binomial(logit), MixedModelData4))
FUN <- function(mixed5) {
return(fixef(mixed5))}
result <- bootMer(mixed5, FUN, nsim = 2)
警告メッセージ:
In bootMer(mixed5, FUN, nsim = 2) : some bootstrap runs failed (2/2)
> result
Call:
bootMer(x = mixed5, FUN = FUN, nsim = 2)
Bootstrap Statistics :
WARNING: All values of t1* are NA
WARNING: All values of t2* are NA
WARNING: All values of t3* are NA
WARNING: All values of t4* are NA
WARNING: All values of t5* are NA
WARNING: All values of t6* are NA
-------------------------------------------------- ------ 更新 3 ------------------------------------------ -----------
このコードも警告を生成しました:
FUN <- function(fit) {
return(fixef(fit))}
result <- bootMer(mixed5, FUN, nsim = 2)
警告と結果:
Warning message:
In bootMer(mixed5, FUN, nsim = 2) : some bootstrap runs failed (2/2)
> result
Call:
bootMer(x = mixed5, FUN = FUN, nsim = 2)
Bootstrap Statistics :
WARNING: All values of t1* are NA
WARNING: All values of t2* are NA
WARNING: All values of t3* are NA
WARNING: All values of t4* are NA
WARNING: All values of t5* are NA
WARNING: All values of t6* are NA