如何访问 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
我正在对大量数据进行 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