[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
Research
outcome<-c(310,310,370,410,250,380,330,270,260,300,390,210,350,365,370,310,380,290,260,90,385,400,410,320,340,220)
subject<-as.factor(c(1,4,6,7,10,11,14,1,4,6,7,10,11,14,2,3,5,9,12,13,2,3,5,9,12,13))
period<-as.factor(c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2))
treatment<-as.factor(c('F','F','F','F','F','F','F','S','S','S','S','S','S','S','S','S','S','S','S','S','F','F','F','F','F','F'))
sequence<-as.factor(c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2))
example<-data.frame(outcome,subject,period,treatment,sequence)
The recommended SAS code equals
PROC GLM DATA=example;
CLASS subject period treatment sequence;
MODEL outcome = treatment sequence period subject(sequence);
RANDOM subject(sequence);
RUN;
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
example.lm<-lm(outcome~treatment+period+sequence+subject%in%sequence,
data=example)
anova(example.lm)
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
library(car)
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 !!!!
example.glm<-glm(outcome~treatment+period+sequence+subject%in%sequence,
data=example, family=gaussian)
library(car)
Anova(example.glm,type="III",test.statistic="F")
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 ?
Thanks
--
More information about the R-help
mailing list