Onestop อธิบายได้ค่อนข้างดีฉันจะให้ตัวอย่าง R ง่ายๆกับข้อมูลที่สร้างขึ้น พูดว่า x คือน้ำหนักและ y คือส่วนสูงและเราต้องการทราบว่ามีความแตกต่างระหว่างเพศชายหรือเพศหญิงหรือไม่:
set.seed(69)
x <- rep(1:10,2)
y <- c(jitter(1:10, factor=4), (jitter(1:10, factor=4)+2))
sex <- rep(c("f", "m"), each=10)
df1 <- data.frame(x,y,sex)
with(df1, plot(y~x, col=c(1,2)[sex]))
lm1 <- lm(y~sex, data=df1)
lm2 <- lm(y~sex+x, data=df1)
anova(lm1); anova(lm2)
คุณจะเห็นว่าไม่มีการควบคุมน้ำหนัก (ใน anova (lm1)) มีความแตกต่างกันเล็กน้อยระหว่างเพศ แต่เมื่อรวมน้ำหนักเป็น covariate (ควบคุมสำหรับใน lm2) จากนั้นความแตกต่างจะชัดเจนยิ่งขึ้น
#In case you want to add the fitted lines to the plot
coefs2 <- coef(lm2)
abline(coefs2[1], coefs2[3], col=1)
abline(coefs2[1]+coefs2[2], coefs2[3], col=2)