R中的统计测试输出许多描述。尽管它们很有用,但我们如何才能输出或提取单个值?
> cor.test(x,y,method="spearman", exact=F)
Spearman's rank correlation rho
data: x and y
S = 12767993, p-value = 0.0001517
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
-0.188074
尤其是,如何得出这些值0.0001517和-0.188074,以便我可以存储它们以进行进一步分析?
最佳答案
您可以使用测试对象的$
子设置。相关名称为p.value
和estimate
。
> tst<-cor.test(1:10,rnorm(10),method="spearman")
> tst
Spearman's rank correlation rho
data: 1:10 and rnorm(10)
S = 140, p-value = 0.6818
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.1515152
。
> tst$p.value
[1] 0.6818076
> tst$estimate
rho
0.1515152
编辑
其他答案指出,您可以使用
str
研究对象的结构,以找到要用于$
子设置的名称。您也可以使用names
找出名称:> names(tst)
[1] "statistic" "parameter" "p.value" "estimate" "null.value"
[6] "alternative" "method" "data.name"
要考虑的另一件事是,您正在查看对象的打印版本,并且该打印方法可能正在执行一些计算(在这种情况下不是)。您可以使用
class(tst)
检查对象类,以显示该对象类为htest
。 print.htest
是相关的打印方法,但这是不可见的,因此请使用getAnywhere(print.htest)
进行查看。
关于r - 从任何统计测试中获取单个值(例如,从cor.test中获取spearman rho的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639424/