如何从pairwise.t.test中提取具有特定值的那对?

时间:2019-03-15 18:31:06

标签: r

我想我有一个简单的问题。

q1 <- with(airquality, pairwise.t.test(Ozone, Month))

我想找到这个的最小值,我知道我可以使用

min(q1$p.value, na.rm = TRUE)

并说它是0.001。 我的问题是如何从我的q1中找到给我这个特定价值的那对?抱歉,这有点含糊。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您提供我们可以使用的示例会更容易,所以这是pairwise.t.test文档中的示例。

我执行t检验,然后打印p值矩阵。我找到了等于最小p值的元素的索引,并使用这些索引拉出行和列的名称。

# Air quality example
attach(airquality)
Month <- factor(Month, labels = month.abb[5:9])
res <- pairwise.t.test(Ozone, Month)

# Print resulting p-value matrix
print(res$p.value)
#>              May        Jun         Jul         Aug
#> Jun 1.0000000000         NA          NA          NA
#> Jul 0.0002638036 0.05112741          NA          NA
#> Aug 0.0001949061 0.04987333 1.000000000          NA
#> Sep 1.0000000000 1.00000000 0.004878798 0.003878108

# Find indices of minimum value
ind <- which(res$p.value == min(res$p.value, na.rm = TRUE), arr.ind = TRUE)

# Pull row and column names
rownames(res$p.value)[ind[1]]
#> [1] "Aug"
colnames(res$p.value)[ind[2]]
#> [1] "May"

reprex package(v0.2.1)于2019-03-15创建