library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
head(CAT<-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
str(CAT)
## 'data.frame': 144 obs. of 3 variables:
## $ Sex: Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
## $ Bwt: num 2 2 2 2.1 2.1 2.1 2.1 2.1 2.1 2.1 ...
## $ Hwt: num 7 7.4 9.5 7.2 7.3 7.6 8.1 8.2 8.3 8.5 ...
coef(lm(Bwt~Sex,data=CAT))
## (Intercept) SexM
## 2.3595745 0.5404255
coef(lm(Bwt~Sex,data=CAT,contrasts = list(Sex = "contr.sum")))
## (Intercept) Sex1
## 2.6297872 -0.2702128
coef(lm(Bwt~Sex,data=CAT))
lm()這個指令在做邏輯式迴歸時,預設是使用Dummy Coding來處理。Dummy Coding所產生的迴歸式中,截距係數表示的是“參照組平均數”,而其餘迴歸係數則反映該水準與參照組的“平均數差異”。
coef(lm(Bwt~Sex,data=CAT,contrasts = list(Sex = "contr.sum")))
lm()指令中的contrasts=可以切換Dummy Coding或是Effct coding。題目中加上contrasts = list(Sex = “contr.sum”)將coding模式改成是Effect coding。使用Effect Coding所產生的迴歸式中,截距係數表示“整體平均數”,而各迴歸係數則是“各組平均數和整體平均數的差值”