R corrplot:如何修改p值的显示位数?

Posted

技术标签:

【中文标题】R corrplot:如何修改p值的显示位数?【英文标题】:R corrplot: how to modify the number of displayed digits for the p-value? 【发布时间】:2019-01-09 04:38:37 【问题描述】:

我正在使用 R 中的 corrplot() 函数来创建相关热图。我想显示相关性的 p 值。

corrplot(as.matrix(M2), method="color", p.mat = as.matrix(p_mat2), sig.level=0.05,  tl.cex=font_size, insig="p-value")

我想在某些情况下显示非常小的 p 值,并显示超过两位数。我看到有 number.digits 参数,但这似乎只是为了显示相关系数。 是否有任何设置来控制显示 p 值的位数?

【问题讨论】:

【参考方案1】:

corrplot 中,每一行和每一列都位于一个网格上,单元格之间的距离等于1。这意味着您可以通过调用text() 函数来添加任何您想要的文本。这是一个例子:

# generate M2 and p_mat2 since they were not provided
M2     <- matrix(runif(10), nrow=2)
p_mat2 <- matrix(runif(10, min=0, max=0.1), nrow=2)

# call corrplot and add p-values using text()
corrplot(as.matrix(M2), method="color", sig.level=0.05,  tl.cex=1)
text(col(M2), row(M2), round(p_mat2, 5), cex=0.5)

结果:

【讨论】:

看来text 是从左下角而不是左上角开始绘制的,所以应该翻转y 坐标,即从row(M2) 替换为nrow(M2)+1-row(M2) 之类的东西【参考方案2】:

以下对我有用:

library(corrplot)

M = cor(mtcars)

corrplot(M, method = 'number', number.digits = 3) # colorful number

更多详情请查看:https://github.com/taiyun/corrplot/blob/master/R/corrplot.R

【讨论】:

以上是关于R corrplot:如何修改p值的显示位数?的主要内容,如果未能解决你的问题,请参考以下文章

生成具有特定列且仅在 corrplot 中具有显着值的相关矩阵

使用 R 为 corrplot 中的每一行添加颜色

R corrplot colorlegend 变化范围

R corrplot colorlegend更改范围

js方法中已经获取到了文本框的值,当这个值的小数位数大于8时提示只能保留6位小数,怎么做?

[R语言] Heatmap绘图经验总结