[R] help on tapply using sample with differing sample-sizes
Charles C. Berry
cberry at tajo.ucsd.edu
Wed Dec 3 03:02:46 CET 2008
On Tue, 2 Dec 2008, Jourdan Gold wrote:
> Hello, My question likely got buried so I am reposting it in the hopes
> that someone has an answer. I have thought more about the question and
> modified my question. I hope tha
But apparently, you have not "read the posting guide
http://www.R-project.org/posting-guide.html and provide[d] commented,
minimal, self-contained, reproducible code."
Still see
?split
?mapply
which likely will address you need.
Study the examples, and if that doesn't help, then come back with
_reproducible_ code, i.e. something we can run rather than merely stare
at.
HTH,
Chuck
>
>
> my specific question is:
>
> I am attempting to create a bootstrap procedure for a finite sample using the theory of Rao and Wu, JASA (1988) that replicates within each strata (h) n_h - 1 times. To this end, I require a different sample size for each stratum. Unfortunately, it appears that the sample command which is used to obtain my resamples only allows a scalar for the sample size. i.e it does not currently work with a vector.
>
> Does any one have any suggestions as to how to get around this or if this is not possible, if there is another way to accomplish what I want to do. Perhaps, tapply is not the best way to go about getting what I want. if so what would all you strong programmers reccommend instead. I am thinking that perhaps loops may be the only way to go.
>
> raoboot <- function (datavar, statavar, weight, nboot, ciqntl, ciqntu)
> {
> i <- 1
> sdatavar <- sort(datavar)
> sstratavar <- sort(statavar)
> sweight <- sort(weight)
> sdatavarwght <- sdatavar*sweight
> # stramn <- tapply(sdatavar, sstratavar, mean)
> meanvect <- rep(0, times = nboot)
> stratasize <- tapply(sdatavarwght, sstratavar, length)
> stratasizemone <- stratasize -1
> while (i < nboot)
> { #vector of resampled observations
> vectobsrestemp <- tapply(sdatavarwght, sstratavar, sample, replace = T, size = stratasizemone)
> vectobsres <- unlist(vectobsrestemp)
> meanvect[i] <- mean(vectobsres)
> i <- i + 1
> }
>
> repvectboot <- rep(mean(meanvect), times = i)
> vb <- sum((repvectboot - meanvect)^2)/(i -1)
> lwrbndmnp <- quantile(meanvect, ciqntl)
> uppbndmnp <- quantile(meanvect, ciqntu)
>
> vb
> }
>
> ______________________________________________
> 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.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list