[BioC] Bioconductor Digest, Vol 37, Issue 12
Lynn Amon
lynnamon at u.washington.edu
Mon Mar 13 18:27:28 CET 2006
Hello Francois,
I have a little function that makes all possible contrasts between all
the groups in your design matrix. Call it like this:
contrast.matrix <- conMatrix(colnames(design))
conMatrix <- function(A)
{
N <- length(A)
columns <- 0;
for(i in 1:N) { columns <- columns + N - i}
Acol <- c(" ") [rep(c(1), times=columns)]
mat <- matrix(0, N, columns)
k<-0
for(i in 1:N)
{
j <- 1
while( j <= N )
{
if( j>i)
{
k <- k+1
Acol[k] <- paste(A[i],A[j],sep="-")
mat[i,k] <- 1
mat[j,k] <- -1
}
j <- j+1
}
}
rownames(mat) <- A
colnames(mat) <- Acol
mat
}
Let me know if you have any problems with it.
Lynn
Lynn Amon
Research Scientist
Dept of Pathology
University of Washington
lynnamon at u.washington.edu
> Date: Sat, 11 Mar 2006 15:16:38 -0500
> From: Francois Pepin <fpepin at cs.mcgill.ca>
> Subject: [BioC] automating makeContrasts call in limma
> To: bioconductor at stat.math.ethz.ch
> Message-ID: <1142108198.5347.78.camel at elm.mcb.mcgill.ca>
> Content-Type: text/plain
>
> Hi everyone,
>
> is there a way to automate calls to makeContrasts? Right now, all the
> contrasts have to be typed in or hard-coded. We're dealing with a couple
> of hundreds of samples and it would make my life a lot easier if we
> could generate everything automatically. I've looked briefly in the
> archives but didn't find anything.
>
> Ideally, I would want to have a way to do:
>
> myContrasts<-c("t1-t2","t1-3","t2-t3")
> contrast.matrix<-makeContrasts(myContrasts,levels=design)
>
> I haven't found a way to properly go around the 'substitute(list(...))'
> call inside of makeContrasts.
>
> Right now, I'm writing code to output the proper call and copy/paste it
> back in the console.
>
> Another alternative would be to create the contrast matrix myself. That
> would be a more elegant way of doing it, but I don't quite feel
> comfortable enough (yet) with design matrices for that.
>
> Francois
>
More information about the Bioconductor
mailing list