On Thu, Oct 20, 2011 at 3:42 PM, peter dalgaard <pda...@gmail.com> wrote:
>
> On Oct 20, 2011, at 23:48 , Joshua Wiley wrote:
>
>> Hi,
>>
>> It looks like you are trying to manually bootstrap.
>
> Nope. It's a manually performed approximate Wilcoxon test. Which is fair 
> enough if the object is to learn something. (Notice, however, that the 
> ExactRankTests package eats this sort of problem for breakfast.)

You are correct, Peter.  Apologies, Laurel, for a hastie read and
reply to your email.

>
> As for the actual code, the problem seems mainly to be unclear thinking. The 
> most glaring problem is that "exptdiff" is never actually calculated, but 
> even if it were, it wouldn't be  what the comment says that it is. If it was, 
> it would logically be zero since the "expected mean rank" is the same in both 
> groups (under the null, but what else could be meant?). More likely the 
> intention is to calculate the _observed_ difference in the mean rank, as is 
> done for pdiff (what does "p" stand for??) inside the loop, but based on 
> both.ranks rather than on x. With clarified thinking, I'd expect things to 
> fall into place rather easily.
>
>> Take a look at:
>>
>> require(boot)
>> ?boot
>>
>> as an added advantage of using boot instead of trying to do it
>> manually, you can easily parallelize.  In fact, if you are using one
>> of the pre-release versions of 2.14.0, the new parallel package is
>> included by default and you do not even have to go venturing out into
>> the wide world of CRAN to look.  That said, there are several aspects
>> of your code that could be readily vectorized.  More specific details
>> supplied if a less homework-like example is provided.
>>
>> Cheers,
>>
>> Josh
>>
>> On Thu, Oct 20, 2011 at 10:17 AM, Laurel Klein Serieys
>> <laurelkl...@ucla.edu> wrote:
>>> Hi-
>>> I'm wondering if anyone can help me with my code.  I'm coming up dry when I
>>> try to get a p-value from the following code.  If I make a histogram of my
>>> resampled distribution, I find the difference between by groups to be
>>> significant.  I've ranked the data since I have outliers in one of my
>>> groups.
>>>
>>> mange= c(35,  60,  81, 158, 89, 130,  90,  38, 119, 137,  52,  30,  27, 115,
>>> 123,  31, 124,  91)
>>>
>>> healthy= c(46, 50, 30, 58, 32, 42, 42, 33, 19, 42, 30, 26, 38, 23, 16, 28,
>>> 42, 42, 33, 35, 51, 31, 39, 40 , 42, 38, 36, 39, 38)
>>>
>>> l.mange<-length(mange)
>>> l.healthy<-length(healthy)
>>>
>>> exptdiff <- mean.mange - mean.healthy #the expected difference between
>>> between the mean of the ranked groups
>>>
>>>
>>> both.chemistry<-c(mange, healthy) #concatenate two vectors into one in
>>> preparation for resampling the data
>>>
>>>
>>> both.ranks<-rank(both.chemistry) #rank combined data in the case that there
>>> are outlying values in the data or the dataset is small
>>>
>>> reps=1000
>>>
>>>
>>> z<-rep(NA,reps) # z will the the simulated storage value for the resampling
>>> efforts
>>>
>>> for(i in 1:reps){ #create the loop
>>>
>>> x<- sample(both.ranks, length(both.ranks),replace=FALSE) #instructions for
>>> how to resample where sample the entire combined data without replacment
>>>
>>> p.mange<-mean(x[(1:l.mange)])  #create a simulate mean value for the
>>> resampled mange values
>>> p.healthy<-mean(x[(l.mange+1):(l.mange+l.healthy)])  #create a simulated
>>> mean value for the resampled healthy values
>>>
>>> pdiff<- p.mange-p.healthy #the simulated difference between groups
>>>
>>> z[i]<- pdiff  #the stored list of simulated differences
>>> }
>>> p=mean(z>=exptdiff)*2 #2-tailed test multiply by two
>>> p
>>>
>>> hist(z, xlab="Resample Values", main="Distribution for Two-Group BUN Test")
>>> confints=quantile(z, c(0.025,0.975))
>>> abline(v=confints, col="blue") #draw a line for each cutoffs
>>> abline(v=exptdiff, col="red")
>>>
>>> Thanks!
>>> L.Serieys
>>>
>>> ______________________________________________
>>> 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.
>>>
>>
>>
>>
>> --
>> Joshua Wiley
>> Ph.D. Student, Health Psychology
>> Programmer Analyst II, ATS Statistical Consulting Group
>> University of California, Los Angeles
>> https://joshuawiley.com/
>>
>> ______________________________________________
>> 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.
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: pd....@cbs.dk  Priv: pda...@gmail.com

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

Reply via email to