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