1. 录入数据

d9.3 <- read.table(header=TRUE, text="
A B Y X
LP Low 98 15
LP High 71 10
LP Low 60 4
LP High 80 12
LP Low 77 7
LP High 86 14
LP Low 80 9
LP High 82 13
LP Low 95 14
LP High 46 2
LP Low 64 5
LP High 55 3
WB Low 55 4
WB High 76 11
WB Low 60 5
WB High 68 10
WB Low 75 8
WB High 43 2
WB Low 65 7
WB High 47 3
WB Low 87 13
WB High 62 7
WB Low 78 11
WB High 70 9
")
d9.3$A <- factor(d9.3$A)
d9.3$B <- factor(d9.3$B)
str(d9.3)
## 'data.frame':    24 obs. of  4 variables:
##  $ A: Factor w/ 2 levels "LP","WB": 1 1 1 1 1 1 1 1 1 1 ...
##  $ B: Factor w/ 2 levels "High","Low": 2 1 2 1 2 1 2 1 2 1 ...
##  $ Y: int  98 71 60 80 77 86 80 82 95 46 ...
##  $ X: int  15 10 4 12 7 14 9 13 14 2 ...

2. 二因素析因分析(无协变量)

aov9.3 <- aov(Y ~ A * B, data = d9.3)
summary(aov9.3)
##             Df Sum Sq Mean Sq F value Pr(>F)
## A            1    486   486.0   2.363   0.14
## B            1    486   486.0   2.363   0.14
## A:B          1      0     0.0   0.000   1.00
## Residuals   20   4114   205.7

3. 边际均值与多重比较

library(emmeans)
emm9.3 <- emmeans(aov9.3, ~ A * B)
emm9.3
##  A  B    emmean   SE df lower.CL upper.CL
##  LP High     70 5.86 20     57.8     82.2
##  WB High     61 5.86 20     48.8     73.2
##  LP Low      79 5.86 20     66.8     91.2
##  WB Low      70 5.86 20     57.8     82.2
## 
## Confidence level used: 0.95
pairs(emm9.3, simple = "each")
## $`simple contrasts for A`
## B = High:
##  contrast estimate   SE df t.ratio p.value
##  LP - WB         9 8.28 20   1.087  0.2900
## 
## B = Low:
##  contrast estimate   SE df t.ratio p.value
##  LP - WB         9 8.28 20   1.087  0.2900
## 
## 
## $`simple contrasts for B`
## A = LP:
##  contrast   estimate   SE df t.ratio p.value
##  High - Low       -9 8.28 20  -1.087  0.2900
## 
## A = WB:
##  contrast   estimate   SE df t.ratio p.value
##  High - Low       -9 8.28 20  -1.087  0.2900
contrast(emm9.3, method = "pairwise")
##  contrast          estimate   SE df t.ratio p.value
##  LP High - WB High        9 8.28 20   1.087  0.7013
##  LP High - LP Low        -9 8.28 20  -1.087  0.7013
##  LP High - WB Low         0 8.28 20   0.000  1.0000
##  WB High - LP Low       -18 8.28 20  -2.174  0.1648
##  WB High - WB Low        -9 8.28 20  -1.087  0.7013
##  LP Low - WB Low          9 8.28 20   1.087  0.7013
## 
## P value adjustment: tukey method for comparing a family of 4 estimates

4. 二因素协方差分析(引入协变量 X)

aov9.3C <- aov(Y ~ X + A * B, data = d9.3)
summary(aov9.3C)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## X            1   4533    4533 720.784  < 2e-16 ***
## A            1     93      93  14.854  0.00107 ** 
## B            1    324     324  51.592 7.99e-07 ***
## A:B          1     16      16   2.551  0.12672    
## Residuals   19    119       6                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

5. 调整后的边际均值及多重比较

emm9.3C <- emmeans(aov9.3C, ~ A * B)
emm9.3C
##  A  B    emmean   SE df lower.CL upper.CL
##  LP High   67.5 1.03 19     65.4     69.7
##  WB High   65.1 1.04 19     62.9     67.3
##  LP Low    76.5 1.03 19     74.4     78.7
##  WB Low    70.8 1.02 19     68.7     73.0
## 
## Confidence level used: 0.95
pairs(emm9.3C, simple = "each")
## $`simple contrasts for A`
## B = High:
##  contrast estimate   SE df t.ratio p.value
##  LP - WB      2.45 1.47 19   1.663  0.1127
## 
## B = Low:
##  contrast estimate   SE df t.ratio p.value
##  LP - WB      5.72 1.45 19   3.937  0.0009
## 
## 
## $`simple contrasts for B`
## A = LP:
##  contrast   estimate   SE df t.ratio p.value
##  High - Low    -9.00 1.45 19  -6.216 <0.0001
## 
## A = WB:
##  contrast   estimate   SE df t.ratio p.value
##  High - Low    -5.72 1.45 19  -3.937  0.0009
contrast(emm9.3C, method = "pairwise")
##  contrast          estimate   SE df t.ratio p.value
##  LP High - WB High     2.45 1.47 19   1.663  0.3695
##  LP High - LP Low     -9.00 1.45 19  -6.216 <0.0001
##  LP High - WB Low     -3.28 1.45 19  -2.254  0.1446
##  WB High - LP Low    -11.45 1.47 19  -7.781 <0.0001
##  WB High - WB Low     -5.72 1.45 19  -3.937  0.0045
##  LP Low - WB Low       5.72 1.45 19   3.937  0.0045
## 
## P value adjustment: tukey method for comparing a family of 4 estimates