[R] bootstrap for confidence intervals of the mean
Gavin Simpson
gavin.simpson at ucl.ac.uk
Tue Apr 22 19:26:58 CEST 2008
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 mean.fun does this (note we turn on removing NA's by default
otherwise it wouldn't work)
> mean.fun <- function(dat, idx) mean(dat[idx], na.rm = TRUE)
> boot.out <- boot(d, mean.fun, R=1000, sim="ordinary")
> boot.out
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = d, statistic = mean.fun, 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.
HTH
G
> thanks
>
> stephen
>
--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Dr. Gavin Simpson [t] +44 (0)20 7679 0522
ECRC, UCL Geography, [f] +44 (0)20 7679 0565
Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/
UK. WC1E 6BT. [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
More information about the R-help
mailing list