[R] why NA coefficients

David Winsemius dwinsemius at comcast.net
Tue Nov 8 02:13:16 CET 2011


On Nov 7, 2011, at 7:33 PM, array chip wrote:

> Hi, I am trying to run ANOVA with an interaction term on 2 factors  
> (treat has 7 levels, group has 2 levels). I found the coefficient  
> for the last interaction term is always 0, see attached dataset and  
> the code below:
>
>> test<-read.table("test.txt",sep='\t',header=T,row.names=NULL)
>> lm(y~factor(treat)*factor(group),test)
>
> Call:
> lm(formula = y ~ factor(treat) * factor(group), data = test)
>
> Coefficients:
>                   (Intercept)                  
> factor(treat)2                 factor(treat)3
>                      0.429244                        
> 0.499982                       0.352971
>                factor(treat)4                  
> factor(treat)5                 factor(treat)6
>                     -0.204752                        
> 0.142042                       0.044155
>                factor(treat)7                 factor(group)2   
> factor(treat)2:factor(group)2
>                     -0.007775                       
> -0.337907                      -0.208734
> factor(treat)3:factor(group)2  factor(treat)4:factor(group)2   
> factor(treat)5:factor(group)2
>                     -0.195138                        
> 0.800029                       0.227514
> factor(treat)6:factor(group)2  factor(treat)7:factor(group)2
>                      0.331548                             NA
>
>
> I guess this is due to model matrix being singular or collinearity  
> among the matrix columns? But I can't figure out how the matrix is  
> singular in this case? Can someone show me why this is the case?

Because you have no cases in one of the crossed categories.

-- 
David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list