[BioC] automating makeContrasts call in limm

Francois Pepin fpepin at aei.ca
Mon Mar 13 17:53:54 CET 2006


Hi Gordon,

I should mention that the behavior is different with R 2.2, but it still
doesn't work.

>  myContrasts<-c("t1-t2","t1-3","t2-t3")
> contrast.matrix<-makeContrasts(myContrasts,levels=design)
Error in eval(expr, envir, enclos) : object "myContrasts" not found
> traceback()
3: eval(expr, envir, enclos)
2: eval(ej, envir = levelsenv)
1: makeContrasts(myContrasts, levels = design)

> sessionInfo()
R version 2.2.0, 2005-10-06, x86_64-redhat-linux-gnu

attached base packages:
[1] "methods"   "stats"     "graphics"  "grDevices" "utils"
"datasets"
[7] "base"

other attached packages:
  limma
"2.3.7"

I don't have any machine with R 2.3, but I could install it.

Francois

On Mon, 2006-03-13 at 11:31 -0500, Francois Pepin wrote:
> > > Ideally, I would want to have a way to do:
> > >
> > > myContrasts<-c("t1-t2","t1-3","t2-t3")
> > > contrast.matrix<-makeContrasts(myContrasts,levels=design)
> > 
> > Your question isn't clear, at least not to me.  What is wrong with the code you've just given?
> 
> Sorry, I thought this was a well-known "feature" of the makeContrasts
> function, so I didn't go into the details.
> 
> So to complete the toy example with 3 treatments and dye swaps of each:
> 
> > design
>      t1 t2 t3
> [1,] -1  0  0
> [2,]  1  0  0
> [3,]  0 -1  0
> [4,]  0  1  0
> [5,]  0  0 -1
> [6,]  0  0  1
> 
> > myContrasts
> [1] "t1-t2" "t1-3"  "t2-t3"
> 
> > contrast.matrix<-makeContrasts(myContrasts,levels=design)
> > contrast.matrix
>    myContrasts
> t1 "t1-t2"
> t2 "t1-3"
> t3 "t2-t3"
> 
> Which doesn't make for a usable design matrix. The expected behavior is:
> 
> > contrast.matrix<-makeContrasts("t1-t2","t1-t3","t2-t3",levels=design)
> > contrast.matrix
>    t1-t2 t1-t3 t2-t3
> t1     1     1     0
> t2    -1     0     1
> t3     0    -1    -1
> 
> > sessionInfo()
> R version 2.1.0, 2005-04-18, x86_64-unknown-linux-gnu
> 
> attached base packages:
> [1] "methods"   "stats"     "graphics"  "grDevices" "utils"
> "datasets"
> [7] "base"
> 
> other attached packages:
>   limma
> "1.9.6"
> 
> 
> 
> > Is your question that you'd like to compute all pairwise comparisons between hundreds of different
> > treatments or patients?
> 
> No. I have tumors and normal samples for each patient. One of the things
> I'd like to do is tumor vs normal for all each of the patients. Another
> would be to automate the comparisons between clinical variables. It's
> just cumbersome (and error-prone) to do by hand when there are over 50
> patients.
> 
> Francois
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
>



More information about the Bioconductor mailing list