[R] Random Relabelling

John Kane jrkrideau at yahoo.ca
Sat Apr 23 12:42:43 CEST 2011


I KNEW there was a better way!

--- On Wed, 4/20/11, Jeremy Hetzel <jthetzel at gmail.com> wrote:

> From: Jeremy Hetzel <jthetzel at gmail.com>
> Subject: Re: [R] Random Relabelling
> To: r-help-archive at googlegroups.com
> Cc: r-help at r-project.org, "Kevin Matthews" <kevin-matthews at uiowa.edu>
> Received: Wednesday, April 20, 2011, 2:25 PM
> Kevin,
> 
> The following follows John's suggestion, but without the
> loop.  It's quick 
> for me.
> 
> Jeremy
> 
> 
> Jeremy T. Hetzel
> Boston University
> 
> 
> 
> ## Generate sample data
> n <- 4000
> rep <- 1000
> rate <- rnorm(n, mean = 15, sd = 2) / 100000 # Mortality
> rates around 
> 15/100k
> 
> ## Create an empty matrix with appropriate dimensions
> permutations <- matrix(ncol = n, nrow = rep)
> 
> ## Use apply() to resample
> permutations <- apply(permutations, 1, function(x)
> {
> sample(rate, size = n, replace = F)
> })
> 
> ## Look at the matrix
> dim(permutations)
> head(permutations)
> 
> ## Find the column means
> means <- apply(permutations, 1, mean)
> means
> 
> 
> 
> 
> 
> On Wednesday, April 20, 2011 1:56:35 PM UTC-4, John Kane
> wrote:
> >
> > There is probably a better way to do this but a for
> loop like this should 
> > work. You would just need to change the numbers to
> yours and then add on the 
> > locations 
> >
> ========================================================= 
> >
> > scores  <- 1:5
> > mydata <- matrix(data=NA, nrow=5, ncol=10)
> >
> > for(i in 1:10) {
> > mydata[,i] <- sample(scores, 5, replace=FALSE)
> > }
> >
> >
> =========================================================
> > --- On Wed, 4/20/11, Kevin Matthews <kevin-m... at uiowa.edu>
> wrote:
> >
> > From: Kevin Matthews <kevin-m... at uiowa.edu>
> > Subject: Re: [R] Random Relabelling
> > To: "John Kane" <jrkr... at yahoo.ca>
> > Cc: r-h... at r-project.org
> > Received: Wednesday, April 20, 2011, 1:22 PM
> >
> > I have a map of Iowa of with 4000 locations.  At
> each location, I have a 
> > cancer mortality rate.  I need to test my null
> hypothesis; that the spatial 
> > distribution of the mortality rates is 
> random.  For this test, I need to 
> > establish a spatial reference distribution.  
> >
> >
> > My reference distribution will be created by some
> random relabelling 
> > algorithm.  The 4000 locations would remain
> fixed, but the observed 
> > mortality rates would be randomly redistributed. 
> Then, I want 1000 
> > permutations of the same algorithm.  For each of
> those 1000 times, I would 
> > record the redistributed mortality rate at each
> location.  Then,  I would 
> > calculate the mean of the 1000 points.  The
> result would be a spatial 
> > reference distribution with a mean value of the random
> permutations at each 
> > of the 4000 locations.  
> >
> > Thanks for the response,Kevin
> >
> > On Wed, Apr 20, 2011 at 11:08 AM, John Kane <jrkr... at yahoo.ca>
> wrote:
> >
> >
> > Can you explain this a bit more. At the moment I don't
> see what you are 
> > trying to achieve.   "calculate the
> mean of the 1000 values at each of the 
> > 4000 points" does not seem to make sense.
> >
> > --- On Wed, 4/20/11, kmatthews <kevin-m... at uiowa.edu>
> wrote:
> >
> > > From: kmatthews <kevin-m... at uiowa.edu>
> >
> > > Subject: [R] Random Relabelling
> >
> > > To: r-h... at r-project.org
> >
> > > Received: Wednesday, April 20, 2011, 10:04 AM
> >
> > > I have 4000 observations that I need
> >
> > > to randomly relabel 1000 times and then
> >
> > > calculate the mean of the 1000 values at each of
> the 4000
> >
> > > points.  Any ideas
> >
> > > for where to begin?
> >
> > >
> >
> > > Thanks
> >
> > > Kevin
> >
> > >
> >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-h... 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.
> >
> >
> -----Inline Attachment Follows-----
> 
> ______________________________________________
> 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.
>



More information about the R-help mailing list