如何包含来自不同矩阵的 p 值并更改 corrplot 中 circles/squares 的大小?

How to include p-vlaues from a different matrix and change the size of circles/squares in corrplot?

用户,

我有两个大小相同的矩阵 "mm" 和 "mpm"。 "mm" 矩阵包含预先计算的 spearman's-rho 相关值,"mpm" 矩阵包含与相关值对应的 p 值。

> mm[1:5,1:5]
                          X572413     X573110    X358104     X570507
ENSG00000138755        -0.3197926  0.04386737 -0.3789759 -0.33553003
ENSG00000024048        -0.3596203  0.07819836 -0.4008268 -0.50528885
ENSG00000128849         0.2348660 -0.04513889  0.2273856  0.06665028
ENSG00000163827         0.3971051 -0.16466158  0.1864152  0.16520154
ENSG00000154451        -0.2899219 -0.03560250 -0.3721475 -0.36401305
                    X361966
ENSG00000138755 -0.08492661
ENSG00000024048 -0.35552037
ENSG00000128849  0.15638211
ENSG00000163827  0.13412548
ENSG00000154451 -0.10718324

> mpm[1:5,1:5]
                          X572413 X573110 X358104 X570507 X361966
ENSG00000138755             0.161   0.835   0.078   0.132   0.720
ENSG00000024048             0.118   0.705   0.078   0.028   0.114
ENSG00000128849             0.304   0.849   0.324   0.771   0.485
ENSG00000163827             0.086   0.475   0.430   0.494   0.548
ENSG00000154451             0.200   0.881   0.081   0.108   0.646

我希望 "mpm" 的 p 值绘制在单元格上。当我使用以下代码时:

> corrplot(mm, is.corr = FALSE, method = "circle", p.mat = mpm[[1]], insig = "p-value", sig.level=-1)

我收到这个错误:

Error in ind[, 2] : incorrect number of dimensions

谁能帮我解决这个问题?此外,是否可以根据 p 值更改单元格的大小?在此先感谢您的帮助。

您需要将 mmmpm 转换为 matrix

library(corrplot)
corrplot(as.matrix(mm), is.corr = FALSE, method = "circle", 
         p.mat = as.matrix(mpm), insig = "p-value", sig.level=-1)