日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

相关系数矩阵计算_corrplot包:相关性矩阵可视化

發布時間:2025/3/11 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 相关系数矩阵计算_corrplot包:相关性矩阵可视化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天學習下相關性矩陣的可視化,可以用來可視化相關性矩陣的包有corrplot包、corrgram包、GGally包、ggcorrplot包等,這些包在大部分情況下都可以滿足需求。今天先來學習corrplot包的使用,后面幾天有空會詳細講解下另外三個包。


目? 錄

  • 1. 安裝和加載R包

  • 2. 加載數據集

  • 3. 數據處理

    • 3.1 轉換矩陣

    • 3.2 計算相關系數

  • 4. 簡單繪制

  • 5. 自定義參數

    • 5.1 可視化方法

    • 5.2 矩陣顯示類型

    • 5.3 繪制組合圖形

    • 5.4 相關矩陣排序

    • 5.5 設置矩陣顏色

    • 5.6 設置文本標簽屬性

    • 5.7 設置圖例屬性

    • 5.8 設置圖形外觀

    • 5.9 設置顯著水平


1. 安裝和加載R包

corrplot包可以用來可視化相關矩陣,這個包中的參數很多,可以很詳細的自定義圖形。

第一步先安裝和加載好R包。

install.packages("corrplot")?#?安裝包
library(corrplot)?#?加載包

2. 加載數據集

使用mtcars內置數據集進行演示,先加載包,看下數據集的信息。

data(mtcars)?#?加載數據集
head(mtcars,?10)?#?查看數據集前10行

3. 數據處理

在使用mtcars數據集繪制圖形前需要對數據集進行一些簡單處理。

3.1 轉換矩陣

繪圖前可以將數據集轉換為矩陣,當然,我也看到很多推文沒有將數據集轉換成矩陣,一樣可以繪制圖形,這一步也許可以省略。

mtcars?#?轉化為矩陣

3.2 計算相關系數

在繪制圖形前,先計算下相關系數,可以使用cor()函數,函數中有"pearson", "kendall", "spearman"三種方法計算,我們選擇默認的"pearson"方法即可。

cor_mtcars?'pearson')
cor_mtcars

4. 簡單繪制

先簡單繪制個基本圖形,我們在后面慢慢調整參數自定義圖形。

corrplot(cor_mtcars)

如上圖所示,一行代碼就簡單繪制出了圖形。

在上圖中,正相關用藍色顯示,負相關用紅色顯示。顏色強度和圓圈的大小與相關系數成正比。

下面我們開始慢慢調整參數設置圖形。

5. 自定義參數

5.1 可視化方法

在上圖中,可視化的方法method參數默認為"circle",也就是圓形顯示。還可以使用"square","ellipse","number","pie","shade"和"color"顯示,分別表示方形、橢圓形、數字、餅圖、陰影、顏色。

layout(matrix(1:6,?2,?3))?#?分割繪圖設備

corrplot(cor_mtcars,?method?=?"square")?#?方形
corrplot(cor_mtcars,?method?=?"ellipse")?#?橢圓形
corrplot(cor_mtcars,?method?=?"number")?#?數字
corrplot(cor_mtcars,?method?=?"pie")?#?餅圖
corrplot(cor_mtcars,?method?=?"shade")?#?陰影
corrplot(cor_mtcars,?method?=?"color")?#?顏色

5.2 矩陣顯示類型

在基礎圖形中,矩陣顯示為全矩陣顯示,可以設置type參數為"lower"和"upper",來分別顯示上三角和下三角矩陣。

layout(matrix(1:2,?1,?2))?#?分割繪圖設備

corrplot(cor_mtcars,?type?=?"lower")?#?下三角矩陣
corrplot(cor_mtcars,?type?=?"upper")?#?上三角矩陣

5.3 繪制組合圖形

在上面我們可以繪制出上三角和下三角矩陣圖形,然后可以使用add參數來繪制組合圖形。

add為TRUE則可以圖形添加到現有圖形中。

corrplot(cor_mtcars,?method?=?"square",?
?????????type?=?"lower")?#?下三角矩陣
corrplot(cor_mtcars,?method?=?"pie",?
?????????type?=?"upper",?add?=?TRUE)?#?上三角矩陣

如上圖所示,先繪制一個下三角圖形,再將上三角圖形添加到圖形上。

5.4 相關矩陣排序

在corrplot包中,使用order參數設置相關性矩陣排序,排序方法有original(默認)、AOE、FPC、hclust、alphabet等5種。

我們看看其他四種排序是什么樣的。

layout(matrix(1:4,?2,?2))?#?分割繪圖設備

corrplot(cor_mtcars,?order?=?"AOE")?#?特征向量角序
corrplot(cor_mtcars,?order?=?"FPC")?#?第一主成分順序
corrplot(cor_mtcars,?order?=?"hclust")?#?按層次聚類
corrplot(cor_mtcars,?order?=?"alphabet")?#?按字母順序

當order為"hclust"按層次聚類時,層次聚類方法也有幾種,有"ward", "ward.D", "ward.D2", "single", "complete", "average", "mcquitty", "median"或"centroid"等,可以使用hclust.method參數來指定。

同時也可以設置addrect參數來設置可視化矩陣上聚類矩形的數量,為NULL時默認不添加矩形。

可以使用rect.col、rect.lwd參數來設置聚類矩形的顏色和線寬。

layout(matrix(1:6,?2,?3))?#?分割繪圖設備

corrplot(cor_mtcars,?order?=?"hclust",?#?按層次聚類
?????????hclust.method?=?"ward.D2")?#層次聚類方法
corrplot(cor_mtcars,?order?=?"hclust",?
?????????hclust.method?=?"median")?
corrplot(cor_mtcars,?order?=?"hclust",?
?????????hclust.method?=?"single")?
corrplot(cor_mtcars,?order?=?"hclust",?
?????????hclust.method?=?"complete",?
?????????addrect?=?2)?#?設置聚類矩形的數量
corrplot(cor_mtcars,?order?=?"hclust",?
?????????hclust.method?=?"average",?
?????????addrect?=?2,?rect.col?=?"red")??#?設置聚類矩形的顏色
corrplot(cor_mtcars,?order?=?"hclust",?
?????????hclust.method?=?"mcquitty",?
?????????addrect?=?4,?rect.lwd?=?3)?#?設置聚類矩形的線寬

5.5 設置矩陣顏色

使用col參數來設置顏色,還可以使用bg參數設置背景顏色。

layout(matrix(1:3,?1,?3))?#?分割繪圖設備
col?=?colorRampPalette(c('blue',?'white',?'red'))(40)
corrplot(cor_mtcars,?method?=?"color")
corrplot(cor_mtcars,?method?=?"color",?col?=?col)?#?矩陣顏色
corrplot(cor_mtcars,?method?=?"circle",?bg?=?"grey")?#?背景顏色

還可以設置其他的顏色。

layout(matrix(1:6,?2,?3))?#?分割繪圖設備
corrplot(cor_mtcars,?order?=?"hclust",?col?=?heat.colors(100))
corrplot(cor_mtcars,?order?=?"hclust",?col?=?terrain.colors(100))
corrplot(cor_mtcars,?order?=?"hclust",?col?=?cm.colors(100))
corrplot(cor_mtcars,?order?=?"hclust",?col?=?gray.colors(100))
library(RColorBrewer)
corrplot(cor_mtcars,?order?=?"hclust",?col?=?brewer.pal(n?=?8,?name?=?"RdYlBu"))
corrplot(cor_mtcars,?col?=?brewer.pal(n?=?8,?name?=?"PuOr"))

5.6 設置文本標簽屬性

layout(matrix(1:4,?2,?2))?#?分割繪圖設備
corrplot(cor_mtcars,?tl.pos?=?"n")?#?不顯示文本標簽
corrplot(cor_mtcars,?tl.pos?=?"lt")?#?在左邊和頂部顯示
corrplot(cor_mtcars,?tl.cex?=?1.5)?#?設置文本標簽的縮放倍數
corrplot(cor_mtcars,?tl.col?=?"black")?#?設置文本標簽的顏色

5.7 設置圖例屬性

顏色標簽,也就是圖形旁邊的圖例,可以使用cl.pos、cl.cex、cl.ratio、cl.align.text、cl.offset等參數來設置。

5.7.1 設置圖例位置

corrplot(cor_mtcars,?cl.pos?=?"n")?#?不顯示圖例
corrplot(cor_mtcars,?cl.pos?=?"r")?#?圖例放在右邊
corrplot(cor_mtcars,?cl.pos?=?"b")?#?圖例放在底部

5.7.2 設置圖例文本屬性

corrplot(cor_mtcars,?cl.cex?=?1.5)?#?設置圖例中數字標簽的縮放倍數
corrplot(cor_mtcars,?cl.ratio?=?2.0)?#?數字,設置圖例的寬度
corrplot(cor_mtcars,?cl.align.text?=?"l")?#?字符,設置圖例中的數字標簽的對齊方式

5.8 設置圖形外觀

可以設置圖形的標題、四邊間距、網格線等。

layout(matrix(1:4,?2,?2))?#?分割繪圖設備

corrplot(cor_mtcars,?mar?=?c(2.2,?2.6,2.8,1.9))?#?設置圖形四邊間距
corrplot(cor_mtcars,?addgrid.col?=?"black")?#?設置網格線
corrplot(cor_mtcars,?outline?=?"black")?#?設置圓形、橢圓形等外邊框
corrplot(cor_mtcars,?tl.pos?=?"n",?
?????????title??=?"R語言統計與繪圖?公眾號")?#?添加圖形標題

5.9 設置顯著水平

可以在圖形上顯示顯著性水平。

layout(matrix(1:4,?2,?2))?#?分割繪圖設備
res1?.95)

corrplot(cor_mtcars,?p.mat?=?res1$p,?
?????????sig.level?=?.2)?#?設置p值>0.2的不顯示
corrplot(cor_mtcars,?p.mat?=?res1$p,?
?????????sig.level?=?.05)?#?設置p值>0.05的不顯示
corrplot(cor_mtcars,?p.mat?=?res1$p,?
?????????insig?=?"blank")?#?擦除p值>0.05的相關系數,設置為空白
corrplot(cor_mtcars,?p.mat?=?res1$p,?
?????????insig?=?"p-value")

參考資料

  • corrplot()函數幫助文件

  • 既往專輯

    總結

    以上是生活随笔為你收集整理的相关系数矩阵计算_corrplot包:相关性矩阵可视化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。