library(MASS)
head(dta <- cats)
## Sex Bwt Hwt
## 1 F 2.0 7.0
## 2 F 2.0 7.4
## 3 F 2.0 9.5
## 4 F 2.1 7.2
## 5 F 2.1 7.3
## 6 F 2.1 7.6
lm()預設的比對方式是dummy coding,截距是參照組(Sex = F)的平均值。
迴歸係數是操弄組(Sex = M)的平均值減去截距所得的數值。
coef(lm(Bwt ~ Sex, data = cats))
## (Intercept) SexM
## 2.3595745 0.5404255
mean(subset(cats, Sex == "F")$Bwt)
## [1] 2.359574
mean(subset(cats, Sex =="M")$Bwt) - mean(subset(cats, Sex == "F")$Bwt)
## [1] 0.5404255
lm()中加入contrasts = list(Sex = “contr.sum”),會將dummy coding改成effect coding。
此時截距等於未加權總平均數(Unweighted grandmean),而迴歸係數為截距減去操弄組的細格平均數(Cell mean)所得的值。
coef(lm(Bwt ~ Sex, data = cats, contrasts = list(Sex = "contr.sum")))
## (Intercept) Sex1
## 2.6297872 -0.2702128
(mean(subset(cats, Sex =="M")$Bwt) + mean(subset(cats, Sex == "F")$Bwt))/2
## [1] 2.629787
(mean(subset(cats, Sex =="M")$Bwt) + mean(subset(cats, Sex == "F")$Bwt))/2 - mean(subset(cats, Sex =="M")$Bwt)
## [1] -0.2702128