如何访问 R 中测试结果的成员

How to access to members of a test result in R

我正在对大量数据进行 Levene 检验和 Shapiro-Wilk 检验。我想知道如何访问结果的特定部分并将它们存储在 CSV 文件中以简化报告结果。

比如一个Levene的测试结果在R中是这样的:

> leveneTest(Var~Label, data = df)

Df F value Pr(>F)
group   3  0.7595 0.5183
      166

如何只获取存储在不同变量中的 F 值和 p 值?与以下 W 和 p 值相同:

> shapiro.test(df[,i])

Shapiro-Wilk normality test

data:  dfc[, i]
W = 0.70952, p-value < 2.2e-16

像下面这样?我不知道你的代码中的 i 是什么:

library(car)
df = data.frame(Var=runif(100),Label=rep(c("A","B"),50))
test = leveneTest(Var~Label, data = df)

要知道如何访问数据,请执行:

class(测试) [1] "anova" "data.frame"

所以测试是 data.frame,您可以使用 $ 或通过行名和列名访问它。由于在这种情况下列名包含空格,因此使用矩阵方式会好一点(并且您知道您调用的列):

Fvalue = test[1,"F value"]
pvalue = test[1,"Pr(>F)"]

Fvalue
> [1] 0.3516209
> pvalue
[1] 0.554563

对于 shapiro,不幸的是他们创建了一个新的 class,因此您可以查看插图:

Value:

 A list with class ‘"htest"’ containing the following components:

statistic: the value of the Shapiro-Wilk statistic.

p.value: an approximate p-value for the test. This is said in Royston (1995) to be adequate for ‘p.value < 0.1’.

所以我们把它当作一个列表:

names(test)
[1] "statistic" "p.value"   "method"    "data.name"

test$p.value
[1] 0.0002292068