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