[BioC] limma problems

Gordon K Smyth smyth at wehi.EDU.AU
Sat Jun 11 14:21:28 CEST 2005


> Date: Fri, 10 Jun 2005 16:52:39 +0200
> From: "Jakub Orzechowski Westholm" <jakub at lcb.uu.se>
> Subject: [BioC] limma problems
> To: <Bioconductor at stat.math.ethz.ch>
>
> Hi! I'm using the limma package to analyze 2^3 factorial experiment, with blocks, but I've run
> into problems because lmFit can't estimate all coefficients. Here is what the design matrix looks
> like:
>
>> design
>    Intercept wt    A    B    C     AB    AC    BC     ABC block
> 1          1  1    0    0    0     0     0     0      0     1
> 2          1  0    1    0    0     0     0     0      0     1
> 3          1  0    0    1    0     0     0     0      0     1
> 4          1  0    0    0    1     0     0     0      0     1
> 5          1  0    0    0    0     1     0     0      0     0
> 6          1  0    0    0    0     0     1     0      0     0
> 7          1  0    0    0    0     0     0     1      0     0
> 8          1  0    0    0    0     0     0     0      1     0
> 9          1  1    0    0    0     0     0     0      0     0
> 10         1  0    1    0    0     0     0     0      0     0
> 11         1  0    0    1    0     0     0     0      0     0
> 12         1  0    0    0    1     0     0     0      0     0
> 13         1  0    0    0    0     1     0     0      0     0
> 14         1  0    0    0    0     0     1     0      0     0
> 15         1  0    0    0    0     0     0     1      0     0
> 16         1  0    0    0    0     0     0     0      1     0
> 17         1  1    0    0    0     0     0     0      0     0
> 18         1  0    1    0    0     0     0     0      0     0
> 19         1  0    0    1    0     0     0     0      0     0
> 20         1  0    0    0    1     0     0     0      0     0
> 21         1  0    0    0    0     1     0     0      0     0
> 22         1  0    0    0    0     0     1     0      0     0
> 23         1  0    0    0    0     0     0     1      0     0
> 24         1  0    0    0    0     0     0     0      1     0
> attr(,"assign")
>  [1] 0 1 1 1 1 1 1 1 1 1
> attr(,"contrasts")
> attr(,"contrasts")$treatments
>         Wt    A    B    C     AB    AC    BC     ABC Block
> bl1      1    0    0    0     0     0     0      0     1
> Abl1     0    1    0    0     0     0     0      0     1
> Bbl1     0    0    1    0     0     0     0      0     1
> Cbl1     0    0    0    1     0     0     0      0     1
> ABbl0    0    0    0    0     1     0     0      0     0
> ACbl0    0    0    0    0     0     1     0      0     0
> BCbl0    0    0    0    0     0     0     1      0     0
> ABCbl0   0    0    0    0     0     0     0      1     0
> bl0      1    0    0    0     0     0     0      0     0
> Abl0     0    1    0    0     0     0     0      0     0
> Bbl0     0    0    1    0     0     0     0      0     0
> Cbl0     0    0    0    1     0     0     0      0     0
> Cbl0II   0    0    0    1     0     0     0      0     0
>
> Fitting a model to this with lmFit gives:
>
>> fit <- lmFit(M.vals, design)
> Coefficients not estimable: ABC
>
> What is the problem with this? And what's the easisest way around it?
>
> thanks
>
> Jakub Orzechowski

This message tells you that you have tried to estimate more coefficients than are capable of being
estimated with your data.  Hence you need to remove at least one column from the design matrix.

First rule of linear models: you can't include an intercept term in your model *and* include a
term for every distinct treatment as well.  Either remove the Intercept or remove the wt term.

Gordon



More information about the Bioconductor mailing list