最近學(xué)習(xí)了好幾種畫相關(guān)性熱力圖的包泣刹,為了更好地運(yùn)用這些包,決定整理一下~~~
1. GGally包
準(zhǔn)確地來說组贺,可以利用該包當(dāng)中的ggpair()函數(shù)來計(jì)算相關(guān)系數(shù)以及繪圖,但在圖中懒熙,相關(guān)系數(shù)僅僅是數(shù)值展示,并未做出熱力圖展示。具體實(shí)例說明可見之前的推文:
2022-11-10逐步回歸分析——以房屋能效數(shù)據(jù)集為例
相應(yīng)的相關(guān)系數(shù)可通過設(shè)置參數(shù)method的值來進(jìn)行更改员舵,method="spearman".
2. ggcorrplot包
該包利用ggcorrplot()函數(shù)進(jìn)行相關(guān)性熱圖分析,從而探索各個變量之間的相關(guān)性藕畔。具體實(shí)例說明可見之前的推文:
2022-11-28第五章習(xí)題以及R packages|ggcorrplot : 相關(guān)矩陣的可視化(熱圖)
使用cor()函數(shù)計(jì)算相關(guān)系數(shù)马僻,通過指定參數(shù)method值計(jì)算相應(yīng)的相關(guān)系數(shù);
使用該包當(dāng)中的cor_pmat()函數(shù)計(jì)算p值
3. corrplot包
該包包含兩個可以進(jìn)行相關(guān)系數(shù)可視化的函數(shù):corrplot()和corrplot.mixed()劫流。其中巫玻,函數(shù)corrplot.mixed()實(shí)現(xiàn)了矩陣上下三角陣不同的圖形模式丛忆。具體實(shí)例說明可見之前的推文:
2022-11-16Logistic回歸模型以及corrplot::corrplot()和corrplot.mixed()
同樣使用cor()函數(shù)計(jì)算相關(guān)系數(shù),另外仍秤,使用該包當(dāng)中的cor.mtest()函數(shù)計(jì)算p值
4. ggplot2包
如果說用一個包能夠解決你大部分的繪圖問題,那我們何樂而不為呢诗力?這個包就是ggplot2凰浮,它在R中有著不可撼動的位置。因此苇本,我們有必要知道如何用ggplot2去畫相關(guān)性熱圖袜茧。
R語言繪制相關(guān)性熱圖
# 加載包
library(ggplot2)
library(dplyr)
library(tidyr)
# 加載數(shù)據(jù)
data(mtcars)
head(mtcars)
# cor()函數(shù)計(jì)算相關(guān)系數(shù),默認(rèn)是Pearson
## 直接計(jì)算得到的是相關(guān)矩陣瓣窄,為了后面畫圖需要轉(zhuǎn)化成data.frame
## 考慮到后面的熱力圖x,y軸都是變量笛厦,因此這里需要單獨(dú)添加一列變量名
cormtcars <- round(cor(mtcars),3) %>% as.data.frame()
cormtcars$factor <- row.names(cormtcars)
head(cormtcars,3)
# 數(shù)據(jù)轉(zhuǎn)換,寬型變?yōu)殚L型
mtcars_long <- gather(cormtcars,key = "variable",value = "value",mpg:carb)
head(mtcars_long,3)
# 繪制熱圖
## 確定繪圖時x,y軸的因子順序
list <- factor(row.names(cormtcars),levels = row.names(cormtcars))
p <- ggplot(mtcars_long, aes(factor(factor,levels = list),
factor(variable ,levels = list),fill = value)) +
theme_bw(base_family = "STKaiti") +
geom_tile() +
scale_fill_gradientn(colors = c("blue","white","red")) +
labs(x="",y="",title = "相關(guān)性熱圖") +
theme(plot.title = element_text(hjust = 0.5))
p
配色是丑了些俺夕,顏色這個東西不到發(fā)文章階段根本不想調(diào)裳凸,哈哈哈~~~