R中方差分析的TurkeyHSD包括意外比较
我有一个部分如下所示的数据集。我已经使用方差分析来观察性别之间的差异,以区域作为协变量。然而,当使用TukeyHSD进行多重比较校正时,我发现is显示的比较比必要的多(如下所示)。我唯一感兴趣的部分是第一行(即每个区域内的M与F),而不是区域之间的。有没有办法在anova模型或Tukey中说明这一点?谢谢R中方差分析的TurkeyHSD包括意外比较,r,statistics,anova,posthoc,R,Statistics,Anova,Posthoc,我有一个部分如下所示的数据集。我已经使用方差分析来观察性别之间的差异,以区域作为协变量。然而,当使用TukeyHSD进行多重比较校正时,我发现is显示的比较比必要的多(如下所示)。我唯一感兴趣的部分是第一行(即每个区域内的M与F),而不是区域之间的。有没有办法在anova模型或Tukey中说明这一点?谢谢 ID Age Sex Hemi Region value 1 62 M R a 1.81 2 62 M R a 1.90 3 72 M R
ID Age Sex Hemi Region value
1 62 M R a 1.81
2 62 M R a 1.90
3 72 M R a 2.25
1 61 M L a 1.58
2 57 F L a 2.66
3 62 M L a 2.19
1 72 M R b 1.93
2 64 F R b 1.07
3 65 F R b 1.37
1 64 M L b 0.97
2 77 F L b 1.59
3 27 M L b 1.84
model=aov(value~Sex*区域,data=data
TukeyHSD(型号)
当然有。排除模型中的交互项
> my.data <- data.frame(y = rnorm(100), region = rep(c("a", "b"), each = 50), gender = sample(c("M", "F"), 100, replace = TRUE))
> head(my.data)
y region gender
1 0.3333316 a M
2 1.6364059 a F
3 0.6679500 a F
4 -0.7460313 a M
5 0.7327712 a F
6 -0.8305134 a M
> tail(my.data)
y region gender
95 -1.387498267 b F
96 0.124378046 b M
97 -0.568782743 b M
98 -0.004699849 b M
99 -1.449213423 b F
100 -1.146313313 b F
>
> mdl1 <- aov(y ~ region * gender, data = my.data)
> TukeyHSD(mdl1)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = y ~ region * gender, data = my.data)
$region
diff lwr upr p adj
b-a -0.0140727 -0.4041448 0.3759994 0.9430592
$gender
diff lwr upr p adj
M-F -0.13387 -0.5267813 0.2590414 0.5004702
$`region:gender`
diff lwr upr p adj
b:F-a:F -0.57419765 -1.3487805 0.20038521 0.2191452
a:M-a:F -0.63398152 -1.3658935 0.09793048 0.1136445
b:M-a:F -0.20795605 -0.9398681 0.52395596 0.8794703
a:M-b:F -0.05978387 -0.7916959 0.67212813 0.9965356
b:M-b:F 0.36624160 -0.3656704 1.09815361 0.5599334
b:M-a:M 0.42602548 -0.2605688 1.11261980 0.3710470
>
> mdl2 <- update(mdl1, . ~ region + gender)
> TukeyHSD(mdl2)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = y ~ region + gender, data = my.data)
$region
diff lwr upr p adj
b-a -0.0140727 -0.4147704 0.3866251 0.9445724
$gender
diff lwr upr p adj
M-F -0.13387 -0.5374843 0.2697444 0.5119119
>my.data头(my.data)
y区性别
上午10时3333316分
2 1.6364059 a F
30.6679500华氏度
上午4时至0.7460313
50.7327712华氏度
6-0.8305134 a M
>尾部(my.data)
y区性别
95-1.387498267华氏度
960.124378046亿立方米
97-0.568782743亿立方米
98-0.004699849亿立方米
99-1.449213423华氏度
100-1.146313bF
>
>mdl1 TukeyHSD(mdl1)
Tukey平均数的多重比较
95%的家庭信心水平
拟合:aov(公式=y~区域*性别,数据=my.data)
$region
差动lwr upr p调整
b-a-0.0140727-0.4041448 0.3759994 0.9430592
$性别
差动lwr upr p调整
M-F-0.13387-0.5267813 0.2590414 0.5004702
$`区域:性别`
差动lwr upr p调整
b:F-a:F-0.57419765-1.3487805 0.20038521 0.2191452
a:M-a:F-0.63398152-1.3658935 0.09793048 0.1136445
b:M-a:F-0.20795605-0.9398681 0.52395596 0.8794703
a:M-b:F-0.05978387-0.7916959 0.67212813 0.9965356
b:M-b:F 0.36624160-0.3656704 1.09815361 0.5599334
b:M-a:M 0.42602548-0.2605688 1.11261980 0.3710470
>
>mdl2 TukeyHSD(mdl2)
Tukey平均数的多重比较
95%的家庭信心水平
拟合:aov(公式=y~地区+性别,数据=my.data)
$region
差动lwr upr p调整
b-a-0.0140727-0.4147704 0.3866251 0.9445724
$性别
差动lwr upr p调整
M-F-0.13387-0.5374843 0.2697444 0.5119119
如果你想删除/保留特定条款,你可以这样做
> tk <- TukeyHSD(mdl1)
> str(tk)
List of 3
$ region : num [1, 1:4] -0.0141 -0.4041 0.376 0.9431
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "b-a"
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
$ gender : num [1, 1:4] -0.134 -0.527 0.259 0.5
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "M-F"
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
$ region:gender: num [1:6, 1:4] -0.5742 -0.634 -0.208 -0.0598 0.3662 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:6] "b:F-a:F" "a:M-a:F" "b:M-a:F" "a:M-b:F" ...
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
- attr(*, "class")= chr [1:2] "TukeyHSD" "multicomp"
- attr(*, "orig.call")= language aov(formula = y ~ region * gender, data = my.data)
- attr(*, "conf.level")= num 0.95
- attr(*, "ordered")= logi FALSE
> rntk <- rownames(tk[["region:gender"]])
> tk[["region:gender"]] <- tk[["region:gender"]][grepl("b:F-a:F|a:M-a:F", rntk), ]
> tk
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = y ~ region * gender, data = my.data)
$region
diff lwr upr p adj
b-a -0.0140727 -0.4041448 0.3759994 0.9430592
$gender
diff lwr upr p adj
M-F -0.13387 -0.5267813 0.2590414 0.5004702
$`region:gender`
diff lwr upr p adj
b:F-a:F -0.5741976 -1.348781 0.20038521 0.2191452
a:M-a:F -0.6339815 -1.365894 0.09793048 0.1136445
tk str(tk)
3人名单
$region:num[1,1:4]-0.0141-0.40410.376 0.9431
..-attr(*,“dimnames”)=2个列表
..$:chr“b-a”
…..$:chr[1:4]“diff”“lwr”“upr”“p adj”
$gender:num[1,1:4]-0.134-0.5270.2590.5
..-attr(*,“dimnames”)=2个列表
..$:chr“M-F”
…..$:chr[1:4]“diff”“lwr”“upr”“p adj”
$region:gender:num[1:6,1:4]-0.5742-0.634-0.208-0.0598-0.3662。。。
..-attr(*,“dimnames”)=2个列表
“b:F-a:F”“a:M-a:F”“b:M-a:F”“a:M-a:F”“a:M-b:F”。。。
…..$:chr[1:4]“diff”“lwr”“upr”“p adj”
-attr(*,“类”)=chr[1:2]“TukeyHSD”“多重压缩”
-attr(*,“orig.call”)=语言aov(公式=y~地区*性别,数据=my.data)
-属性(*,“配置级别”)=数值0.95
-属性(*,“有序”)=逻辑错误
>rntk tk[[“地区:性别”]]tk
Tukey平均数的多重比较
95%的家庭信心水平
拟合:aov(公式=y~区域*性别,数据=my.data)
$region
差动lwr upr p调整
b-a-0.0140727-0.4041448 0.3759994 0.9430592
$性别
差动lwr upr p调整
M-F-0.13387-0.5267813 0.2590414 0.5004702
$`区域:性别`
差动lwr upr p调整
b:F-a:F-0.5741976-1.348781 0.20038521 0.2191452
a:M-a:F-0.6339815-1.365894 0.09793048 0.1136445
我不确定OP是否要删除整个交互。我以为OP会保留交互的一部分,这是交互的第一部分。我想知道让R print成为交互的一部分是否简单。在这种情况下,应该访问
区域:性别
交互并删除行y、 是的,我认为这是唯一的方法。谢谢你这么说。删除部分交互将显示我想要的,但是如果我可以指定比较,而不是运行全部然后删除其中一些,它会改变调整后的-p吗?@Jon all计算是在你选择特定交互之前完成的。所以我不认为这是特定的操作假设影响调整后的p。顺便说一句,如果你只想提取特定的交互,你可以做一些像tk$
Sex:Region[c(1,6),]
。
> tk <- TukeyHSD(mdl1)
> str(tk)
List of 3
$ region : num [1, 1:4] -0.0141 -0.4041 0.376 0.9431
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "b-a"
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
$ gender : num [1, 1:4] -0.134 -0.527 0.259 0.5
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "M-F"
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
$ region:gender: num [1:6, 1:4] -0.5742 -0.634 -0.208 -0.0598 0.3662 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:6] "b:F-a:F" "a:M-a:F" "b:M-a:F" "a:M-b:F" ...
.. ..$ : chr [1:4] "diff" "lwr" "upr" "p adj"
- attr(*, "class")= chr [1:2] "TukeyHSD" "multicomp"
- attr(*, "orig.call")= language aov(formula = y ~ region * gender, data = my.data)
- attr(*, "conf.level")= num 0.95
- attr(*, "ordered")= logi FALSE
> rntk <- rownames(tk[["region:gender"]])
> tk[["region:gender"]] <- tk[["region:gender"]][grepl("b:F-a:F|a:M-a:F", rntk), ]
> tk
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = y ~ region * gender, data = my.data)
$region
diff lwr upr p adj
b-a -0.0140727 -0.4041448 0.3759994 0.9430592
$gender
diff lwr upr p adj
M-F -0.13387 -0.5267813 0.2590414 0.5004702
$`region:gender`
diff lwr upr p adj
b:F-a:F -0.5741976 -1.348781 0.20038521 0.2191452
a:M-a:F -0.6339815 -1.365894 0.09793048 0.1136445