У меня есть вектор чисел, который я загрузил здесь (... / code / MyData.Rdata), используя dput.
Я хотел бы получить bca ci, поэтому я написал этот код:
my.mean <- function(dat, idx){
return (mean(dat[idx], na.rm = TRUE))
}
boot.out<-boot(data=my.data, statistic = my.mean, R=1000)
Но когда я запускаю следующее, я получаю это:
> 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
Может кто-нибудь помочь мне разобраться в чем причина этой ошибки? Спасибо за помощь!
Ответы:
Как видно из сообщения об ошибке,
boot.ci
звонкиbca.ci
. Посколькуboot.out
объект не предоставляетL
, эмпирические значения влияния для статистики, которую вы рассчитываете на данных,bca.ci
пытается вычислить их с помощьюempinf
функции, а затем (как говорит Майкл) использует их для вычисления константы ускорения:Но при небольшом количестве репликаций
empinf
иногда происходит сбой и возвращается векторNA
значений. В результате у вас нет значений дляL
,a
вы не можете рассчитать, и вы получите свою ошибку. Как говорит Окрам, увеличение количества репликаций Boostrap это исправит. Даже удвоениеR
до 2000 года, вероятно, должно сделать это.источник