首页 > 解决方案 > 使用 for 循环为许多变量生成多个相关“热图”

问题描述

我有一个包含 127 个变量的数据集:

cols <- c("Important", paste("var", 1:126, sep = ""))

我有一个像这样产生的 cormat 对象:

cormat <- round(cor(data), 3)

我还有一个 27" 1440 显示器(如果这很重要的话)。当我制作热图时......

library(ggcorrplot)
ggcorrplot(cormat, lab = TRUE,
       outline.col = "white", ggtheme = ggplot2::theme_gray)

...好吧,我看不懂它,因为它有太多变量。我试过不同的数字,超过 30 个变量难以辨认。所以我做了:

ggcorrplot(transac_shadow_cor[1:30, 1:30], lab = TRUE,
           outline.col = "white", ggtheme = ggplot2::theme_gray)
ggcorrplot(transac_shadow_cor[31:60, 31:60], lab = TRUE,
           outline.col = "white", ggtheme = ggplot2::theme_gray)

依此类推,生成 5 个清晰的热图。(1:30, 31:60, 61:90, 91:120, 121:127)

请求:我想构建一个for loop构建这些热图的工具,但我不知道如何将所有变量的子集设置为 30。如果在它之上,我可以在每个热图上都有第一个变量“重要”,那将是惊人的,因为..它很重要,但如果我不这样做也没什么大不了的

我不依附于ggcorrplot,它只是我正在使用的那个。

标签: rggplot2data-visualization

解决方案


这将是一个起点:

transac_shadow_cor
Size <- 30
Init <- 0
Iteration <- floor(dim(transac_shadow_cor)[1] / Size) #You have some remaining 
variables 
End <- Size

for (i in 1:Iteration){
  ggcorrplot(transac_shadow_cor[c(Init+1):End, c(Init+1):End], lab = TRUE,
         outline.col = "white", ggtheme = ggplot2::theme_gray)
  Inti <-  Init + Size
  End <- End + Size
}

推荐阅读