[R] Use of contrasts in ANOVA
    Fisher Dennis 
    fisher at plessthan.com
       
    Wed Sep  2 21:02:14 CEST 2015
    
    
  
R 3.2.0
OS X
Colleagues,
I am confused about the implementation of contrasts in ANOVA.  I have 4 groups (BATCH) in DATA.  My code reads:
	contrasts(DATA$BATCH)	<- c(-1, -1, 1, 1)/2
	LM						<- lm(VALUES ~ SIDN + BATCH, data=DATA)
where both SIDN and BATCH are factors and VALUES is a real number
When I run this code, I get the exact results that a colleague obtains in SAS.  So far, so good.  Also, when I examine DATA$BATCH, i get:
> DATA$BATCH
 [1] P R S Q R P S Q R P S Q P R Q S R P S Q R P Q S P R Q S P R Q S P R S Q P R
[39] S Q P R Q S R P Q S R P S Q R P Q S P R S Q R P Q S R P S Q R P Q S P R S Q
[77] P R S Q R P S Q P R Q S R P Q S P R Q S
attr(,"contrasts")
  [,1] [,2] [,3]
P -0.5 -0.5 -0.5
Q -0.5  0.5  0.5
R  0.5  0.5 -0.5
S  0.5 -0.5  0.5
Levels: P Q R S
I noted that columns 2 and 3 did not seem relevant.  Out of curiosity, I modified the contrasts code:
	contrasts(DATA$BATCH, how.many=1)	<- c(-1, -1, 1, 1)/2
Now when I examine DATA$BATCH, I get:
> DATA$BATCH
 [1] P R S Q R P S Q R P S Q P R Q S R P S Q R P Q S P R Q S P R Q S P R S Q P R
[39] S Q P R Q S R P Q S R P S Q R P Q S P R S Q R P Q S R P S Q R P Q S P R S Q
[77] P R S Q R P S Q P R Q S R P Q S P R Q S
attr(,"contrasts")
  [,1]
P -0.5
Q -0.5
R  0.5
S  0.5
Levels: P Q R S
This matches the previous output except for the disappearance of columns 2 and 3.  I thought that would be desirable.
When I now run the code, the estimate for BATCH did not change — however, its SE (and the resulting t value) changed 10%.  
I don’t understand how the 
	how.many 
option in contrasts works.  Can anyone offer an explanation?
Thanks in advance.
Dennis	
Dennis Fisher MD
P < (The "P Less Than" Company)
Phone: 1-866-PLessThan (1-866-753-7784)
Fax: 1-866-PLessThan (1-866-753-7784)
www.PLessThan.com
    
    
More information about the R-help
mailing list