[R] Analyzing an unbalanced AB/BA cross-over design

martin wolfsegger wolfseggerm at gmx.at
Wed Jan 29 11:02:03 CET 2003

I am looking for help to analyze an unbalanced AB/BA cross-over design by
requesting the type III SS !

# Example 3.1 from S. Senn (1993). Cross-over Trials in Clinical

The recommended SAS code equals

PROC GLM DATA=example;
CLASS subject period treatment sequence;
MODEL outcome = treatment sequence period subject(sequence);
RANDOM subject(sequence);

For PROC GLM, the random effects are treated in a post hoc fashion after the
complete fixed effect model is fit. This distinction affects other features
in the GLM procedure, such as the results of the LSMEANS and ESTIMATE
statements. Looking only on treatment, period, sequence and subject effects, the
random statement can be omitted.

The R code for type I SS equals


Response: outcome
                 Df Sum Sq Mean Sq F value    Pr(>F)    
treatment         1  13388   13388 17.8416  0.001427 ** 
period            1   1632    1632  2.1749  0.168314    
sequence          1    335     335  0.4467  0.517697    
sequence:subject 11 114878   10443 13.9171 6.495e-05 ***
Residuals        11   8254     750                     

According to the unbalanced design, I requested the type III SS which
resulted in an error statement

Anova(example.lm, type="III")

Error in linear.hypothesis.lm(mod, hyp.matrix, summary.model = sumry,  : 
        One or more terms aliased in model.

by using glm I got results with 0 df for the sequence effect !!!!

data=example, family=gaussian)

Anova Table (Type III tests)

Response: outcome
                     SS Df       F    Pr(>F)    
treatment         14036  1 18.7044  0.001205 ** 
period             1632  1  2.1749  0.168314    
sequence              0  0                      
sequence:subject 114878 11 13.9171 6.495e-05 ***
Residuals          8254 11            

The questions based on this output are

1) Why was there an error statement requesting type III SS based on lm ?
2) Why I got a result by using glm with 0 df for the period effect ?
3) How can I get the estimate, the StdError for the constrast (-1,1) of the
treatment effect ?



More information about the R-help mailing list