Dear List
I have run into some problems with boot.ci from package boot. When I
try to obtain a confidence interval of type bca, boot.ci() returns the
following error when the data set i large:
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 t0.o, :
estimated adjustment 'a' is NA
Below is an example that produces the above mentioned error on my
machine.
library(boot)
#The wrapper function:
w.mean <- function(x, d) {
E <- x[d,]
return(weighted.mean(E$A, E$B))}
#Some fake data:
test <- data.frame(rnorm(1000, 5), rnorm(1000, 3))
test1 <- data.frame(rnorm(10000, 5), rnorm(10000, 3))
names(test) <- c("A", "B")
names(test1) <- c("A", "B")
# Getting the boot object and the CI, seem to works fine
bootout <- boot(test, w.mean, R=1000, stype="i")
(bootci <- boot.ci(bootout, conf = 0.95, type = "bca"))
# Now with a bigger data set, boot.ci returns an error.
bootout1 <- boot(test1, w.mean, R=1000, stype="i")
(bootci1 <- boot.ci(bootout1, conf = 0.95, type = "bca"))
Does anyone have an idea as to why this happens? (Session info below)
Best,
Lars
> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] da_DK.UTF-8/da_DK.UTF-8/C/C/da_DK.UTF-8/da_DK.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods
base
other attached packages:
[1] boot_1.2-43
loaded via a namespace (and not attached):
[1] tools_2.12.1
Hello Lars, (cc'd)
Did you ask maintainer("boot") first, as requested by the posting
guide?
If you did, but didn't hear back, then please say so, so that we know
you did follow the guide. That maintainer is particularly active, and
particularly efficient though, so I doubt you didn't hear back.
We can tell it's your first post to r-help, and we can tell you have at
least read the posting guide and done very well in following almost all
of it. I can't see anything else wrong with your post (and the subject
line is good) ... other than where you sent it :-)
Matthew
"Lars Dalby" <lars.dalby at gmail.com> wrote in message
news:fef4d63e-90f6-43aa-90a6-872792faa20c at
s11g2000yqc.googlegroups.com...> Dear List
>
> I have run into some problems with boot.ci from package boot. When I
> try to obtain a confidence interval of type bca, boot.ci() returns the
> following error when the data set i large:
> Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 > t0.o, :
> estimated adjustment 'a' is NA
>
> Below is an example that produces the above mentioned error on my
> machine.
>
> library(boot)
> #The wrapper function:
> w.mean <- function(x, d) {
> E <- x[d,]
> return(weighted.mean(E$A, E$B))}
> #Some fake data:
> test <- data.frame(rnorm(1000, 5), rnorm(1000, 3))
> test1 <- data.frame(rnorm(10000, 5), rnorm(10000, 3))
> names(test) <- c("A", "B")
> names(test1) <- c("A", "B")
> # Getting the boot object and the CI, seem to works fine
> bootout <- boot(test, w.mean, R=1000, stype="i")
> (bootci <- boot.ci(bootout, conf = 0.95, type = "bca"))
> # Now with a bigger data set, boot.ci returns an error.
> bootout1 <- boot(test1, w.mean, R=1000, stype="i")
> (bootci1 <- boot.ci(bootout1, conf = 0.95, type = "bca"))
>
> Does anyone have an idea as to why this happens? (Session info below)
>
> Best,
> Lars
>
>> sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>
> locale:
> [1] da_DK.UTF-8/da_DK.UTF-8/C/C/da_DK.UTF-8/da_DK.UTF-8
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods
> base
>
> other attached packages:
> [1] boot_1.2-43
>
> loaded via a namespace (and not attached):
> [1] tools_2.12.1
>
On 2011-02-16 04:44, Lars Dalby wrote:> Dear List > > I have run into some problems with boot.ci from package boot. When I > try to obtain a confidence interval of type bca, boot.ci() returns the > following error when the data set i large: > Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 > t0.o, : > estimated adjustment 'a' is NA > > Below is an example that produces the above mentioned error on my > machine. > > library(boot) > #The wrapper function: > w.mean<- function(x, d) { > E<- x[d,] > return(weighted.mean(E$A, E$B))} > #Some fake data: > test<- data.frame(rnorm(1000, 5), rnorm(1000, 3)) > test1<- data.frame(rnorm(10000, 5), rnorm(10000, 3)) > names(test)<- c("A", "B") > names(test1)<- c("A", "B") > # Getting the boot object and the CI, seem to works fine > bootout<- boot(test, w.mean, R=1000, stype="i") > (bootci<- boot.ci(bootout, conf = 0.95, type = "bca")) > # Now with a bigger data set, boot.ci returns an error. > bootout1<- boot(test1, w.mean, R=1000, stype="i") > (bootci1<- boot.ci(bootout1, conf = 0.95, type = "bca")) > > Does anyone have an idea as to why this happens? (Session info below)Well, someone wiser than I with regard to boot() will be able to give a more definitive answer. In the meantime, note that you get the same 'problem' with your smaller dataset if you set the number of bootstrap replicates to less than the row dimension of your data.frame: bootout <- boot(test, w.mean, R=999, stype="i") (bootci <- boot.ci(bootout, type = "bca")) So one way to handle your larger dataset is to use R = 10000. Of course, you'll have to be patient - the result may take a while. Peter Ehlers> > Best, > Lars > >> sessionInfo() > R version 2.12.1 (2010-12-16) > Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) > > locale: > [1] da_DK.UTF-8/da_DK.UTF-8/C/C/da_DK.UTF-8/da_DK.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods > base > > other attached packages: > [1] boot_1.2-43 > > loaded via a namespace (and not attached): > [1] tools_2.12.1 > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.