You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言corrplot绘制相关图:如何忽略对角线NA消除问号?

解决corrplot绘制p值矩阵时对角线NA显示问号的问题

我在R语言中完成相关性分析后得到仅含p值的相关矩阵,用它绘制只展示显著p值(<0.05)的相关图时,对角线出现问号,已知是因为矩阵对角线为NA导致的,请问怎么让corrplot忽略这些NA?

原绘图代码:

corrplot(data_corr$P, order = "hclust", type = "upper",
         tl.col = "black", tl.srt = 45,  sig.level=0.05, tl.cex = 0.3)

两种解决方法

方法一:直接隐藏对角线元素

在corrplot()函数中添加diag = FALSE参数,直接跳过对角线元素的绘制,彻底消除问号:

corrplot(data_corr$P, order = "hclust", type = "upper",
         tl.col = "black", tl.srt = 45, sig.level=0.05, 
         tl.cex = 0.3, diag = FALSE)

方法二:替换对角线的NA值

如果不想隐藏对角线,可以把矩阵对角线的NA替换为1(p=1远大于0.05,不会被标记为显著,也不会显示异常符号),再进行绘图:

# 复制p值矩阵
p_matrix <- data_corr$P
# 将对角线的NA替换为1
diag(p_matrix) <- 1
# 使用修改后的矩阵绘图
corrplot(p_matrix, order = "hclust", type = "upper",
         tl.col = "black", tl.srt = 45, sig.level=0.05, 
         tl.cex = 0.3)

两种方法都能解决对角线问号的问题,按需选择即可。

内容的提问来源于stack exchange,提问作者Afia A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:22:51