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
相关产品推荐
相关产品推荐

