1

我正在对大量数据进行 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
4

1 回答 1

2

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

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

要知道如何访问数据,请执行以下操作:

类(测试)[1]“anova”“data.frame”

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

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

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

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

价值:

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

统计量:夏皮罗-威尔克统计量的值。

p.value:测试的近似 p 值。这在 Royston (1995) 中说对于“p.value < 0.1”是足够的。

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

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

test$p.value
[1] 0.0002292068
于 2020-05-19T16:21:08.440 回答