簡體   English   中英

如何使用R中的特定列制作相關矩陣

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM