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