R: Bootstrapped binäre logistische Regression mit gemischtem Modell unter Verwendung von bootMer () des neuen lme4-Pakets

Ich möchte die neue Funktion bootMer () des neuen lme4-Pakets verwenden (die derzeitige Entwicklerversion). Ich bin neu in R und weiß nicht, welche Funktion ich für das FUN-Argument schreiben soll. Es heißt, es braucht einen numerischen Vektor, aber ich habe keine Ahnung, was diese Funktion ausführen wird. Ich habe also eine Mischmodellformel, die in bootMer () umgewandelt wird, und eine Reihe von Replikaten. Ich weiß also nicht, was diese externe Funktion tut? Soll es eine Vorlage für Bootstrapping-Methoden sein? Sind im bootMer noch keine Bootstrapping-Methoden implementiert? Warum brauchen sie also eine externe "Interessensstatistik"? Und welche Statistik von Interesse soll ich verwenden?

Ist die folgende Syntax für die Arbeit geeignet? R bleibt fehlerbehaftet und erzeugt, dass der FUN ein numerischer Vektor sein muss. Ich weiß nicht, wie ich die Schätzungen von der "Anpassung" trennen soll, und sollte ich das überhaupt tun? Ich kann nur sagen, dass ich mit diesem "FUN" Argument verloren bin. Ich weiß auch nicht, ob ich die glmer () - Formel für gemischte Modelle mit der Variablen "Mixed5" übergeben soll oder ob ich einige Zeiger und Referenzen übergeben soll. Ich sehe in den Beispielen, dass X (das erste Argument von bootMer () ein * lmer () - Objekt ist. Ich wollte * Mixed5 schreiben, aber es gab einen Fehler aus.

Danke vielmals.

Mein Code ist:

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

Und der Fehler:

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

-------------------------------------------------- ------ Update ------------------------------------------- ----------

Ich habe den Code so bearbeitet, wie es Ben befohlen hat. Der Code lief sehr gut, aber die SEs und Biases waren alle Null. Weißt du auch, wie man P-Werte aus dieser Ausgabe extrahiert (mir fremd)? Soll ich mixed () von afex package verwenden?

Mein überarbeiteter Code:

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

-------------------------------------------------- ------ Update 2 ------------------------------------------ -----------

Ich habe auch Folgendes ausprobiert, aber der Code hat Warnungen generiert und kein Ergebnis geliefert.

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

Warnmeldung:

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

-------------------------------------------------- ------ Update 3 ------------------------------------------ -----------

Dieser Code erzeugte auch Warnungen:

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

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

Die Warnungen und Ergebnisse:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage