厚缊

诹图——ggcor简介(十)

厚缊 / 2020-03-02


就为了加个聚类的小框框,调整了太多的代码,不想码字了,筋疲力竭,看几个图吧。

版本

由于是最新增加的功能,也就需要最新的0.9.3.1版,若是感觉没有用就不要强制更新了。

## install.packages("devtools)
devtools::install_github("houyunhuang/ggcor") 
## 安装过老版本的加 force = TRUE 参数
packageVersion("ggcor")
## [1] '0.9.3.1'

主要函数

为了和corrplot一样能加个聚类框,写了个geom_hc_rect()函数。真正常用的参数也就是datacoloursize三个,意义也很明显。唯一需要说明的是,data参数在配合ggcor()函数、quickcor()函数使用的时候可以不用专门指定,函数内部会自动处理。注意:既然是聚类框,必须配合聚类使用。

library(ggcor)
args(geom_hc_rect)
## function (data = NULL, fill = NA, colour = "black", size = 2, 
##     color = NULL) 
## NULL

示例

geom_hc_rect()的核心目的还是扩展ggcor里的相关性热图功能的,当然最主要的也就是配合quickcor()函数来工作。默认是切分成两组然后加框。

quickcor(mtcars, cluster = TRUE) + geom_square() +
  geom_hc_rect()

可以通过k参数来控制组数。

quickcor(mtcars, cluster = TRUE, k = 3) + geom_square() +
  geom_hc_rect()

边框的颜色可以用colour参数设置。

quickcor(mtcars, cluster = TRUE, k = 3) + geom_square() +
  geom_hc_rect(colour = "red")

啥?还想每个框颜色不一样?

quickcor(mtcars, cluster = TRUE, k = 3) + geom_square() +
  geom_hc_rect(colour = c("red", "yellow", "black"))

边框粗细是size参数,也可以和颜色一样通过一个向量来分别制定。

quickcor(mtcars, cluster = TRUE, k = 3) + geom_square() +
  geom_hc_rect(colour = c("red", "yellow", "black"), size = 3)

手动加聚类框

当然,若你不怕麻烦,也可以自己加聚类框,这不,我给了你这样的机会。

corr <- cor(mtcars)
hc_df <- tidy_hc_rect(corr)
cor_tbl(corr, cluster = TRUE) %>% 
  quickcor() + geom_square() + geom_hc_rect(data = hc_df)

小结

匆匆忙忙的加的内容,可能还有考虑疏忽的地方,仍然需要更多的测试。

下期预告:真的真的一周不更新了。