r - 从任何统计测试中获取单个值(例如,从cor.test中获取spearman rho的值)

标签 r

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.valueestimate

> 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)检查对象类,以显示该对象类为htestprint.htest是相关的打印方法,但这是不可见的,因此请使用getAnywhere(print.htest)进行查看。

关于r - 从任何统计测试中获取单个值(例如,从cor.test中获取spearman rho的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639424/

相关文章:

R包格不见了?

r - 如何使用循环为 R 中的多个网页抓取网站数据?

r - 按值过滤列表的列表

xml - 将 Google Finance 投资组合拉入 R

r - 如何将 Leaflet (for R)-output 包含到 RMarkdown 演示文稿中?

r - 在不知道 ggplot2 中的标签的情况下更改标签的字体大小

r - 如何在 r 中创建一个唯一的 ID 来消除字符串歧义?

r - 从 GitHub 离线安装包

当用户中止 R 时返回当前数据

r - 排除列名包含特定字符的列,并删除剩余列中包含 NA 的行