Re: [R] bootstrap for confidence intervals of the mean

From: Gavin Simpson <>
Date: Tue, 22 Apr 2008 18:26:58 +0100

On Tue, 2008-04-22 at 12:59 -0400, stephen sefick wrote:
> d = c(0L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0L, 0L, 7375L,
> NA, NA, 17092L, 0L, 0L, 32390L, 2326L, 22672L, 13550L, 18285L)
> boot.out <-boot(d, mean, R=1000, sim="permutation")
> Error in mean.default(data, original, ...) :
> 'trim' must be numeric of length one
> I know that I am missing something but I can't figure it out.

You aren't reading the documentation closely enough. ?boot informs us that for all sim other than "parametric", 'statistic' must be a function that takes two arguments. The second argument to mean.default is trim, and boot is passing to mean a vector of indices as argument 'trim' which it is not expecting and quite rightly throws a wobbly.

Write a wrapper to mean, that accepts two arguments, one the data vector and one the permuted indices, then use these to form a call to mean --- here does this (note we turn on removing NA's by default otherwise it wouldn't work)

> <- function(dat, idx) mean(dat[idx], na.rm = TRUE)
> boot.out <- boot(d,, R=1000, sim="ordinary")
> boot.out

boot(data = d, statistic =, R = 1000, sim = "ordinary")

Bootstrap Statistics :

    original bias std. error
t1* 9474.167 -3.373422 3110.968

There doesn't seem to be much point in permuting the data here, the mean will be the same, regardless of what permutation you take. The above does an ordinary bootstrap instead.


> thanks
> stephen

 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e]
 Gower Street, London          [w]
 UK. WC1E 6BT.                 [w]

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 22 Apr 2008 - 18:03:09 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 Apr 2008 - 19:30:30 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive