[R] help on tapply using sample with differing sample-sizes

2008-12-02 Thread Jourdan Gold
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


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@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.


Re: [R] help on tapply using sample with differing sample-sizes

2008-12-02 Thread Charles C. Berry

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@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:[EMAIL PROTECTED]  UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

__
R-help@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.