[BioC] Two interaction coefficients not estimable in limma's lmFit() in a 2^3 factorial design - does this change my contrast matrix now?

James W. MacDonald jmacdon at med.umich.edu
Wed Aug 5 18:30:05 CEST 2009


Hi Massimo,

Massimo Pinto wrote:
> Greetings all,
> 
> I have noticed that several users have presented the issue of
> parameters not estimated in some cases of linear model fittings with
> the limma function lmFit().
> 
> In trying to implement my 2^3 factorial design, I have followed
> Bioinformatics and Computational Biology Solutions using R and
> Bioconductor's examples as at Chapter 14 (Multifactor experiments).
>  I have encountered my own problem with two such parameters:
> 
>> fit <- lmFit(esetSub, disegno)
> Coefficients not estimable: Ageing6mo:LabLNGS Dose1Gy:Ageing6mo:LabLNGS
> Warning message:
> Partial NA coefficients for 2176 probe(s)

Well, you don't show how you built this design matrix, but I would bet 
you didn't use model.matrix because the matrix isn't of full rank, so 
you can't solve for all the coefficients you are trying to estimate here.

The lmFit function is nice enough to let you know that, but you could 
have checked using either is.fullrank() to see if the matrix is of full 
rank, or nonEstimable() to see which coefficients aren't going to be 
estimated.

Best,

Jim


> 
> whereby
> 
>> disegno
>    (Intercept) Dose1Gy Ageing6mo LabLNGS Dose1Gy:Ageing6mo
> Dose1Gy:LabLNGS Ageing6mo:LabLNGS Dose1Gy:Ageing6mo:LabLNGS
> 1            1       0         0       0                 0
>   0                 0                         0
> 2            1       0         0       0                 0
>   0                 0                         0
> 3            1       0         0       0                 0
>   0                 0                         0
> 4            1       0         0       0                 0
>   0                 0                         0
> 5            1       1         0       0                 0
>   0                 0                         0
> 6            1       1         0       0                 0
>   0                 0                         0
> 7            1       1         0       0                 0
>   0                 0                         0
> 8            1       1         0       0                 0
>   0                 0                         0
> 9            1       0         1       0                 0
>   0                 0                         0
> 10           1       0         1       0                 0
>   0                 0                         0
> 11           1       0         1       0                 0
>   0                 0                         0
> 12           1       0         1       0                 0
>   0                 0                         0
> 13           1       1         1       0                 1
>   0                 0                         0
> 14           1       1         1       0                 1
>   0                 0                         0
> 15           1       1         1       0                 1
>   0                 0                         0
> 16           1       1         1       0                 1
>   0                 0                         0
> 17           1       0         1       1                 0
>   0                 1                         0
> 18           1       0         1       1                 0
>   0                 1                         0
> 19           1       0         1       1                 0
>   0                 1                         0
> 20           1       0         1       1                 0
>   0                 1                         0
> 21           1       1         1       1                 1
>   1                 1                         1
> 22           1       1         1       1                 1
>   1                 1                         1
> 23           1       1         1       1                 1
>   1                 1                         1
> 24           1       1         1       1                 1
>   1                 1                         1
> attr(,"assign")
> [1] 0 1 2 3 4 5 6 7
> attr(,"contrasts")
> attr(,"contrasts")$Dose
> [1] "contr.treatment"
> 
> attr(,"contrasts")$Ageing
> [1] "contr.treatment"
> 
> attr(,"contrasts")$Lab
> [1] "contr.treatment"
> 
> I have checked my design and it does make good sense to me. But, I
> believe I was asking too much from my parameter estimation.
> I am wondering how is this going to change the way I design my
> contrast matrix? I am trying to define my contrast matrix following
> the formulation of null hypotheses as at the 'yellow' book, p244.
> 
> Thanking you very much,
> 
> Massimo
> 
> Massimo Pinto
> Post Doctoral Research Fellow
> Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome
> http://claimid.com/massimopinto
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 
James W. MacDonald, M.S.
Biostatistician
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
734-615-7826



More information about the Bioconductor mailing list