On Apr 13, 2011, at 21:32 , Louis Plough wrote: > Hi, > I have a number of genes (columns) for which I want to examine pairwise > associations of genotypes (each row is an individual)...For example (see > data below), I would like to compare M1 to M2, M2 to M3, and M1 to M3 (i.e. > does ac from M1 tend to be found with bc from M2 more often than expected.) > Down stream I will be performing chi square tests for each pair. > > But I am looking for a way to set all pairs of genes (order doesn't matter, > so with 3 genes, there are 3 comparisons, 4 genes=6 comparisons) in a new > data.frame or matrix so that I can then test each pair with a chi-square > test in a loop. > > Below is some sample data of the form I will be using. > >> lets<-c("ab","ac","bc","bd") >> epi<-data.frame(cbind("M1"= c(sample(lets,10, > replace=TRUE)),"M2"=c(sample(lets,10,replace=TRUE)), "M3"=c(sample(lets,10, > replace=TRUE)))) >> print(epi) > M1 M2 M3 > 1 ac bc bd > 2 ac ac bd > 3 bd bd bd > 4 ab ac bd > 5 ac bc bd > 6 bd bd bc > 7 ab ac ab > 8 bc bd ab > 9 bd ab ac > 10 bc bc bd > > I tried a for loop to set each column against the others, but get errors for > undefined columns selected: > > for(i in 1:3) { > k=i+1 > j=k > for(j in k:3){ > epi3=cbind("A"=epi[,i],"B"=epi[,j]) > > print(epi3) > } > ...
> 10 bc bd > Error in `[.data.frame`(epi, , j) : undefined columns selected > > > I get the output in the right format, but with errors, and the actual data > frame epi 3, has only one column, > > > Im sure this is a simple fix...any ideas? Could I use combn instead? Well, for i==3, your inner loop is for (j in 4:3), and R is not C, so this runs backwards from 4. The quick fix is (I think k is superfluous) for (i in 1:2) for (j in (i+1):3) However, also check pairwise.table() for a generic solution (including adjustment for multiple testing) -- Peter Dalgaard 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.