[英]How to make correlation matrix with especific columns in R
我有一個多列數據框,可以分為兩類:土地利用和水質。
我只想分析水質變量和土地利用變量之間的相關性,而沒有土地利用變量之間的相關性和質量變量之間的相關性。
我正在使用包 corrplot() spearmen 方法,但我不知道如何忽略類別之間的相關性。
土地利用 = 蔬菜、濕、干、水
優質水 = OD、DBO、DQO
library(ggplot2)
library(dplyr)
library(corrplot)
veg<-c(1,2,3,2.3,4.1)
wet<-c(2,2.3,1.9,2.5,2.2)
dry<-c(5,5.1,6.9,4.3,5.3)
water<-c(0.69,0.75,0.81,0.82,0.82)
coli<-c(10,11,12,13,9.7)
OD<-c(1,3,2.5,2.7,1.8)
DBO<-c(7,8,9,6.5,8)
DQO<-c(3.5,4,4.1,3,2)
#landuse=veg, wet, dry, water
#quality water = OD, DBO, DQO
data_land<-data.frame(veg, wet, dry, water, OD, DBO, DQO)
correl<-corrplot(cor(as.matrix(data_land),method = "spearman"),
method = "color",
tl.cex = 0.9,
number.cex = 0.95,
addCoef.col = "black")
例如,我不希望計算 DQO 和 DBO 之間的相關性,因為它們是質量參數。 我也不希望計算 veg 和 dry 之間的相關性,因為它們是土地利用類別,例如。
您可以通過在調用cor
時選擇列來計算土地和水變量之間的 Spearman 相關性。 函數cor
也可以接受第二個矩陣來計算相關性 - 因此您可以計算“土地利用”矩陣(第 1-4 列)和“水質”矩陣(第 5-7 列)之間的相關性:
my_cor <- cor(data_land[, 1:4],
data_land[, 5:7],
method = "spearman")
corrplot(my_cor,
method = "color",
tl.cex = 0.9,
number.cex = 0.95,
addCoef.col = "black")
陰謀
如果您想要一個方形相關圖,其中有不想顯示相關性的空白區域,您可以嘗試像以前一樣計算相關性,將要隱藏的相關性結果設置為NA
,然后將na.label
設置為corrplot
的空白區域:
my_cor <- cor(data_land, method = "spearman")
my_cor[1:4, 1:4] <- NA
my_cor[5:7, 5:7] <- NA
corrplot(my_cor,
na.label = " ",
method = "color",
tl.cex = 0.9,
number.cex = 0.95,
addCoef.col = "black")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.