Анализ корреляции 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 делает это так просто)?

0 ответов

Другие вопросы по тегам