【问题标题】:Showing p-values in scientific notation with rcorr() function使用 rcorr() 函数以科学计数法显示 p 值
【发布时间】:2017-10-13 20:06:43
【问题描述】:

我有一个相关矩阵,我正在尝试测试 p 值以使用 rcorr() 获得相关矩阵。这可以在Hmisc 包中找到。我有一个矩阵,您可以在此处看到名为 KCN 的矩阵,您可以在此处看到前 6 条记录:
0 0 0 0 1 0
0 0 0 0 1 0
0 0 1 0 2 0
2 1 5 3 5 0
0 0 1 0 0 0
0 2 1 0 2 0

然后我运行 rcorr:

rKCR<-rcorr(as.matrix(KCN[,2:7]),type="pearson")

如果我随后调用 rKCR,我会不断得到 p 值矩阵的全 0,并且我认为这些是非常弱的相关性,正在四舍五入。我在 KCN 的 2 列上运行了 corr.test() 函数,如下所示:

cor.test(KCN[,2],KCN[,3],type="pearson")

我得到的 p 值为 2.2e-16,这显然非常小。我在 rcorr() 函数中使用了整个数据框,在查看文档后想知道是否有任何方法可以获得以科学计数法表示的 p 值矩阵?感谢您的帮助。

【问题讨论】:

  • m = rcorr(as.matrix(mtcars))$P; m 为我打印科学计数法。
  • 我尝试使用我所拥有的:m=rcorr(as.matrix(KCN[,2:7]))$P,我得到了这个:NA 0 0 0 0 0 All 0 NA 0 0 0 0 气候 0 0 NA 0 0 0 Fish.Wildlife 0 0 0 NA 0 0 Land.use 0 0 0 0 NA 0 交通 0 0 0 0 0 NA
  • 您应该编辑您的问题以包含可重现的示例。现在,眼睛被使用cor.test 的格式化代码块所吸引,这只是一点相关性。您应该提及 rcorr 所在的包,并提供一些数据(模拟很好)来显示您的问题 - 我的示例数据没有显示您的问题(请验证我的示例数据是否也适合您),但我的样本数据的 p 值约为 1e-6,而不是 1e-16。
  • 我试图添加表格,但我不断收到一条令人讨厌的消息,表明表格中我的文本“显示为代码”,这对用户非常不友好,就像 Stack Exchange 的大多数论坛一样。所以你可以只看到上面带有“head”功能的前6条记录。你现在可以看到我最初没有放置的包。
  • 只需粘贴dput(head(KCN)) 并将其格式化为代码。至于“我一直得到 p 值矩阵的全 0,并且我认为这些是正在四舍五入的非常弱的相关性”,您应该认为这些是非常强正在被四舍五入的相关性。弱相关性的 p 值远离 0,而不是接近 0。

标签: r regression-testing


【解决方案1】:

你可以使用:

k <- cor.test(KCN[,2],KCN[,3],type="pearson")
pVal <- k$p.value

【讨论】:

  • 不幸的是,这不是我想要做的。请参阅 rcorr() 函数提供具有所有相关匹配的整个矩阵,然后提供另一个 p 值矩阵。我能够在这里得到你所拥有的,但我想要的是一个包含所有 KCN 的 p 值矩阵,这些 KCN 被扔进了 rcorr()
  • 用dput(head(matrix))创建一个可重现的例子会有很大帮助
  • 我对您期望在那里看到的内容感到困惑。当我运行它时,我得到了这个:c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_) 这有帮助吗?
猜你喜欢
  • 2021-12-18
  • 2011-10-18
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多