順序カテゴリで重回帰

> Orthodont
Grouped Data: distance ~ age | Subject
    distance age Subject    Sex Male
1       26.0   8     M01   Male    1
2       25.0  10     M01   Male    1
3       29.0  12     M01   Male    1
4       31.0  14     M01   Male    1
5       21.5   8     M02   Male    1
6       22.5  10     M02   Male    1
7       23.0  12     M02   Male    1
8       26.5  14     M02   Male    1
  • 処理結果
> ## 変量効果モデル
> library(nlme)
> res.lme <- lme(distance~1+age+Male+Male*age,data=Orthodont,random=~1+age|Subject)
> ## 一般化推定方程式(相関行列:独立)
> res.iee <- gee(distance~1+age+Male+Male*age,data=Orthodont,
+   id=Orthodont$Subject,family=gaussian,scale.fix=TRUE, corstr="independence")
Beginning Cgee S-function, @(#) geeformula.q 4.13 98/01/27
running glm to get initial regression estimate
(Intercept)         age        Male    age:Male 
 17.3727273   0.4795455  -1.0321023   0.3048295 
 警告メッセージ: 
In gee(distance ~ 1 + age + Male + Male * age, data = Orthodont,  :
  Scale parameter fixed at 1.000000 with Gaussian variance function
> ## 重回帰モデル
> res.lm <- lm(distance~1+age+Male+Male*age, data=Orthodont)
> ## 係数の比較
> res <- matrix(nrow=4, ncol=4)
> colnames(res) <- names(res.gee$coefficients)
> rownames(res) <- c("GEE","LME","IEE","LM")
> res[1, ] <- res.gee$coefficients
> res[2, ] <- res.lme$coefficients$fixed
> res[3, ] <- res.iee$coefficients
> res[4, ] <- res.lm$coefficients
> round(res,3)
    (Intercept)   age   Male age:Male
GEE      17.397 0.478 -1.074    0.310
LME      17.373 0.480 -1.032    0.305
IEE      17.373 0.480 -1.032    0.305
LM       17.373 0.480 -1.032    0.305