[R] bootstrap: boot package
Frank E Harrell Jr
fharrell at virginia.edu
Fri Jan 25 20:07:03 CET 2002
This doesn't answer Rob's general question but here is some code that is very fast for running the nonparametric bootstrap percentile method for a mean, in S-Plus. If anyone knows the corresponding R internal function to sample.index (special case where "prob" argument not needed) I would appreciate knowing it. Thanks -Frank Harrell
smean.cl.boot <- function(x, conf.int=.95, B=1000, na.rm=TRUE) {
if(na.rm) x <- x[!is.na(x)]
n <- length(x)
xbar <- mean(x)
if(n < 2) return(Mean=xbar, Lower=NA, Upper=NA)
z <- unlist(lapply(1:B, function(i,x,N)
sum(x[.Internal(sample.index(N, N, TRUE),
"S_sample",TRUE,0)]), x=x, N=n)) / n
quant <- quantile(z, c((1-conf.int)/2,(1+conf.int)/2))
names(quant) <- NULL
c(Mean=xbar, Lower=quant[1], Upper=quant[2])
}
On Fri, 25 Jan 2002 10:48:13 -0800
Rob Gould (local) <rgould at stat.ucla.edu> wrote:
> I'm teaching a class and using R for the first time. We're talking
> about the bootstrap, and I've been trying to get R to replicate some
> simple bootstrap programs with no success. I'd like to be able to use
> the boot.ci function to produce confidence intervals (non-parametric)
> for some simple statistics, and this requires first creating a "boot"
> object. The boot object, in turn, requires a statistic that takes two
> inputs: the data and the second a vector of indices, frequencies, or
> weights which "define" the bootstrap. My question, I guess, is which
> option do I choose to "define" an ordinary sample-with-replacement? And
> where does this vector come from? Suppose I want to bootstrap a
> confidence interval for the mean. Do i have to write my own "mean"
> function to provide for this defining vector of indices?
>
> Just to clarify, I want to use the boot command to replicate this:
> bstraps <- c()
> for (i in 1:R){
> bstraps <- c(mean(sample(data,replace=T,n=length(data))), bstraps)}
>
> thanks,
> Rob
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
--
Frank E Harrell Jr Prof. of Biostatistics & Statistics
Div. of Biostatistics & Epidem. Dept. of Health Evaluation Sciences
U. Virginia School of Medicine http://hesweb1.med.virginia.edu/biostat
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list