Анализ корреляции R: попытка воспроизвести график ggcorrplot с подмножеством переменных по сравнению с другим подмножеством, используя вместо этого ggcorrplot2
Я пытаюсь построить график корреляции с подмножеством переменных по сравнению с другим подмножеством.
Используя mtcars
данные я делаю следующее, используя ggcorrplot
:
data(mtcars)
corrtest <- psych::corr.test(mtcars[,1:7], adjust="none")
all_matrix <- corrtest$r
all_pmat <- corrtest$p
pheno_markers <- names(mtcars)[1:4]
serol_markers <- names(mtcars)[5:7]
sub_matrix <- all_matrix[pheno_markers, serol_markers]
sub_pmat <- all_pmat[pheno_markers, serol_markers]
grDevices::pdf(file="heat_duo.pdf", height=4, width=4)
print(
ggcorrplot::ggcorrplot(sub_matrix, p.mat=sub_pmat, method="circle")
)
grDevices::dev.off()
Это дает следующий сюжет, и это хорошо:
Теперь я хочу воспроизвести тот же сюжет с ggcorrplot2
вместо этого, потому что это позволяет мне наложить значения значимости сравнений как ***
. Обычно я использую этот пакет без проблем, но, похоже, я не понимаю этого случая; кажется, он может иметь дело только с симметричными матрицами сcolnames
== rownames
...
Я пробовал следующее:
grDevices::pdf(file="heat_duo2.pdf", height=4, width=4)
print(
ggcorrplot2::ggcorrplot(sub_matrix, p.mat=sub_pmat, method="circle",
insig = "label_sig", sig.lvl = c(0.05, 0.01, 0.001))
)
grDevices::dev.off()
Но результат явно неверный:
Есть идеи, как поступить с таким случаем в ggcorrplot2
(ggcorrplot
делает это так просто)?