Ich habe einen Vektor von Zahlen, den ich hier mit dput hochgeladen habe (... / code / MyData.Rdata).
Ich möchte das bca ci bekommen, also habe ich diesen Code geschrieben:
my.mean <- function(dat, idx){
return (mean(dat[idx], na.rm = TRUE))
}
boot.out<-boot(data=my.data, statistic = my.mean, R=1000)
Aber wenn ich Folgendes ausführe, bekomme ich Folgendes:
> boot.ci(boot.out)
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o, :
estimated adjustment 'a' is NA
In addition: Warning message:
In boot.ci(boot.out) : bootstrap variances needed for studentized intervals
Kann mir jemand helfen, herauszufinden, was diesen Fehler verursacht? Danke für deine Hilfe!
Antworten:
Wie Sie Ihrer Fehlermeldung entnehmen können, werden
boot.ci
Anrufe getätigtbca.ci
. Da dasboot.out
Objekt nicht liefertL
,bca.ci
versuchen die empirischen Einflusswerte für die Statistik, die Sie für die Daten berechnen, diese mithilfe derempinf
Funktion zu berechnen und verwenden sie dann (wie Michael sagt) zur Berechnung der Beschleunigungskonstante:Bei einer kleinen Anzahl von Replikationen
empinf
schlägt dies jedoch manchmal fehl und gibt einen Wertevektor zurückNA
. Das Ergebnis ist, dass Sie keine Werte für habenL
,a
nicht berechnet werden können und Ihren Fehler erhalten. Wie ocram sagt, wird dies durch Erhöhen der Anzahl der Boostrap-Replikationen behoben. Selbst eine VerdoppelungR
auf 2000 sollte es wahrscheinlich tun.quelle