【发布时间】:2020-01-20 18:29:33
【问题描述】:
我想进行非配对 t 检验,以检查每个 type 类别中值是否在站点之间不同。
所以我的问题是,在类型内(AB 或 CD),值(valueA 或 valueB)在站点之间(A 或B)?
这是我的数据示例:
dat <- data.frame(
"site" = c("A","B","B","A","A","B","B","A"),
"type" = c("AB","CD"),
"valueA" = c(13,-10,-5,18,-14,12,-17,19),
"valueB" = c(-3,20,15,-16,12,15,-11,14)
)
dat
site type valueA valueB
A AB 13 -3
B CD -10 20
B AB -5 15
A CD 18 -16
A AB -14 12
B CD 12 15
B AB -17 -11
A CD 19 14
我正在尝试进行四个 未配对 t 检验来检查:
- 如果 valueA 类型 AB,则站点 A 与站点 B 之间的差异
- 如果 valueB 类型 AB,则站点 A 与站点 B 之间的差异
- 如果 valueA 类型为 CD,则站点 A 与站点 B 之间的差异
- 如果 valueB 类型为 CD,则站点 A 与站点 B 之间的差异
为了运行非配对 t 检验,我认为我需要重新排列我的数据,以便类型 AB 和类型 CB 以及站点 A 和站点 B 都是一列(而不是在类型或站点列中)。
编辑:
在 cmets 中使用建议的代码:
library(dplyr)
d %>%
group_by(site, type) %>%
summarise(pval = t.test(valueA, valueB)$p.value)
输出是这样的:
site type pval
A AB 0.784
A CD 0.417
B AB 0.492
B CD 0.365
据我了解,这里的 p 值给出了 valueA 和 valueB 之间的差异。
我正在寻找,例如: CD 类型中 valueA 的站点 A 和站点 B 的区别。
因此,如果我的想法正确,则 t 检验的输出应该有一个类型、值 A 和值 B 的列。然后 p 值用于站点之间的差异。
与此类似:
type valueA valueB
AB 0.365 0.784
CD 0.492 0.417
这有意义吗?
【问题讨论】: