R: Regresión logística de modelo mixto binario bootstrapped usando bootMer () del nuevo paquete lme4

Quiero usar la nueva característica bootMer () del nuevo paquete lme4 (la versión del desarrollador actualmente). Soy nuevo en R y no sé qué función debo escribir para su argumento FUN. Dice que necesita un vector numérico, pero no tengo idea de qué hará esa función. Así que tengo una fórmula de modelo mixto que se convierte al bootMer (), y tengo varias réplicas. ¿Entonces no sé qué hace esa función externa? ¿Se supone que es una plantilla para los métodos de arranque? ¿No están implementados los métodos de arranque en el programa bootMer? Entonces, ¿por qué necesitan una "estadística de interés" externa? ¿Y qué estadística de interés debo usar?

¿Es adecuada la siguiente sintaxis para trabajar? R sigue en error generando que la DIVERSIÓN debe ser un vector numérico. No sé cómo separar las estimaciones del "ajuste" e incluso ¿debo hacer eso en primer lugar? Solo puedo decir que estoy perdido con ese argumento de "DIVERSIÓN". Además, no sé ¿debo pasar la fórmula glmer () de modelo mixto con la variable "Mixed5" o debo pasar algunos punteros y referencias? Veo en los ejemplos que X (el primer argumento de bootMer () es un objeto * lmer (). Quería escribir * Mixed5 pero generó un error.

Muchas gracias.

Mi código es:

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

Y el error:

Error in bootMer(mixed5, FUN, nsim = 3, seed = NULL, use.u = FALSE, type = c("parametric"),  : 
  bootMer currently only handles functions that return numeric vectors

-------------------------------------------------- ------ Actualización ------------------------------------------- ----------

Edité el código como lo ordenó Ben. El código funcionó muy bien, pero los SE y los sesgos fueron todos cero. ¿También sabes cómo extraer valores de P de esta salida (extraño para mí)? ¿Debo usar el paquete mix () de afex?

Mi código revisado:

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

-------------------------------------------------- ------ Actualización 2 ------------------------------------------ -----------

También probé lo siguiente, pero el código generó advertencias y no dio ningún resultado.

(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)

Mensaje de advertencia:

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

-------------------------------------------------- ------ Actualización 3 ------------------------------------------ -----------

Este código también generó advertencias:

FUN <- function(fit) {
  return(fixef(fit))}

result <- bootMer(mixed5, FUN, nsim = 2)

Las advertencias y resultados:

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta