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 中具有显着值的相关矩阵