如何从 Manova 输出中提取 p 值

How to extract p value from Manova output

我正在通过 R 中的 manova 公式测试 Hotelling T^2 测试。我正在测试不同的相同尺寸,因此有多个 Manova table 输出。下面是我如何为整个样本生成 manova

attach(iris)
library(Hotelling)
library(corpcor)
s= iris[1:100,1:5]
input= cbind(s$Sepal.Length,s$Sepal.Width, s$Petal.Length, s$Petal.Width )
m= manova(input~ Species, data = s)
summary(m, "Hotelling-Lawley")

我想知道如何从每个 table 中提取 p 值。我试图跟随但没有这样的运气:

res$"Pr(>F)"

res$p.value

summary(man)[8]

但每个 return NULL

在您的示例中,p 非常小:

summary(m, "Hotelling-Lawley")$stats

          Df Hotelling-Lawley approx F num Df den Df       Pr(>F)
Species    1         26.33509 625.4583      4     95 2.664857e-67
Residuals 98               NA       NA     NA     NA           NA

对于给定的预测变量,p-value 可以被隔离,例如Species,像这样:

summary(m, "Hotelling-Lawley")$stats["Species", "Pr(>F)"]
[1] 2.664857e-67

文档 here.

我知道这只是 iris 的测试用例,但即便如此:请考虑当 p-value 这么小时,它开始失去作为有效测试统计量的意义。您可以改为选择效果大小的衡量标准,甚至是描述性统计数据来支持您的结果。