*sigh* and the elapsed time line should be:
cat('Elapsed time:',proc.time()[1]-start.time) On Wed, Apr 8, 2009 at 11:35 AM, Mike Lawrence <mike.lawre...@dal.ca> wrote: > *Hits head* > Of course, the approach taken by your Genstat code of only shuffling > one variable is sufficient and faster: > > n.obs = 100 > ID=rnorm(n.obs) > CD=rnorm(n.obs) > > obs.cor = cor(ID,CD) > > num.permutations = 1e4 > perm.cor = rep(NA,num.permutations) > start.time=proc.time()[1] > index = 1:n.obs > for(i in 1:num.permutations){ > IDorder = sample(index) > perm.cor[i] = .Internal(cor(ID[IDorder], CD, 4, FALSE)) > } > cat('Elapsed time:',start.time-proc.time(1)) > sum(perm.cor>obs.cor)/num.permutations > > > On Wed, Apr 8, 2009 at 11:33 AM, Mike Lawrence <mike.lawre...@dal.ca> wrote: >> "Assuming you have a data frame with columns ID & CD, this should do it" >> >> Oops, the code I sent doesn't assume this. It assumes that you have >> two vectors, ID & CD, as generated in the first 3 lines. >> >> On Wed, Apr 8, 2009 at 11:31 AM, Mike Lawrence <mike.lawre...@dal.ca> wrote: >>> Looks like that code implements a non-exhaustive variant of the >>> randomization test, sometimes called a permutation test. Assuming you >>> have a data frame with columns ID & CD, this should do it: >>> >>> n.obs = 100 >>> ID=rnorm(n.obs) >>> CD=rnorm(n.obs) >>> >>> obs.cor = cor(ID,CD) >>> >>> num.permutations = 1e4 >>> perm.cor = rep(NA,num.permutations) >>> start.time=proc.time()[1] >>> index = 1:n.obs >>> for(i in 1:num.permutations){ >>> IDorder = sample(index) >>> CDorder = sample(index) >>> perm.cor[i] = .Internal(cor(ID[IDorder], CD[CDorder], 4, FALSE)) >>> } >>> cat('Elapsed time:',start.time-proc.time(1)) >>> sum(perm.cor>obs.cor)/num.permutations >>> >>> >>> On Wed, Apr 8, 2009 at 10:02 AM, Anne Kempel <kem...@ips.unibe.ch> wrote: >>>> Hello everybody, >>>> I have a question. I would like to get a correlation between constitutive >>>> and induced plant defence which I messured on 30 plant species. So I have >>>> table with Species, Induced defence (ID), and constitutive defence (CD). >>>> Since Induced and constitutive defence are not independant (so called >>>> spurious correlation) I should do a randomisation test. I have a syntax of >>>> my supervisor in Genstat, but I would really like to try this in R. >>>> >>>> >>>> "data from trade-off.IDCD" >>>> list >>>> variate [nval=1000] slope >>>> calc ID1=ID >>>> >>>> graph ID; CD >>>> calc b=corr(ID; CD) >>>> calc slope$[1]=b >>>> >>>> "slope$[1] is the correlation before permutating the data" >>>> >>>> for i=2...1000 >>>> randomize ID1 >>>> calc b=corr(CD1; ID1) >>>> calc slope$[i]=b >>>> endfor >>>> >>>> hist slope >>>> describe slope >>>> quantile [proportion=!(0.0005,0.005, 0.025, 0.975, 0.995,0.9995)]slope >>>> print slope$[1] >>>> corr[p=corr] ID,CD >>>> >>>> >>>> DHISTOGRAM [WINDOW=1; ORIENTATION=vertical; KEY=0; BARCOVERING=1.0] slope; >>>> PEN=2 >>>> >>>> Does anybody have done something similar and has any idea how to make the >>>> randomisation part? >>>> I would be very grateful for any help!! >>>> Thanks in advance, >>>> Anne >>>> >>>> >>>> >>>> >>>> -- >>>> Anne Kempel >>>> Institute of Plant Sciences >>>> University of Bern >>>> Altenbergrain 21 >>>> CH-3103 Bern >>>> kem...@ips.unibe.ch >>>> >>>> ______________________________________________ >>>> 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. >>>> >>> >>> >>> >>> -- >>> Mike Lawrence >>> Graduate Student >>> Department of Psychology >>> Dalhousie University >>> >>> Looking to arrange a meeting? Check my public calendar: >>> http://tinyurl.com/mikes-public-calendar >>> >>> ~ Certainty is folly... I think. ~ >>> >> >> >> >> -- >> Mike Lawrence >> Graduate Student >> Department of Psychology >> Dalhousie University >> >> Looking to arrange a meeting? Check my public calendar: >> http://tinyurl.com/mikes-public-calendar >> >> ~ Certainty is folly... I think. ~ >> > > > > -- > Mike Lawrence > Graduate Student > Department of Psychology > Dalhousie University > > Looking to arrange a meeting? Check my public calendar: > http://tinyurl.com/mikes-public-calendar > > ~ Certainty is folly... I think. ~ > -- Mike Lawrence Graduate Student Department of Psychology Dalhousie University Looking to arrange a meeting? Check my public calendar: http://tinyurl.com/mikes-public-calendar ~ Certainty is folly... I think. ~ ______________________________________________ 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.