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

问题描述 投票:0回答:1

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

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

我想找到最低限度,我知道我可以使用

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

并说它是0.001。我的问题是我怎样才能找到从我的q1那里给我这个特定价值的那对?对不起,如果它有点模糊。任何帮助,将不胜感激。谢谢!

r
1个回答
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创建于2019-03-15(v0.2.1)

© www.soinside.com 2019 - 2024. All rights reserved.