R语言 相关矩阵

R语言 相关矩阵

相关性指的是两个变量之间的关系。它指的是任何两个随机变量之间的线性相关程度。这种关系可以表示为在区间[-1, 1]内表示的数值范围。值-1表示完美的非线性(负)关系,1是完美的正线性关系,0是介于正负线性相互依存关系之间。然而,0的值并不表示这些变量是完全相互独立的。相关矩阵计算一组随机变量之间的线性关系程度,一次取一对,对数据中的每一组对进行计算。

相关矩阵的属性

  • 相关矩阵的所有对角线元素必须是1,因为一个变量与自身的相关性总是完美的,cii =1。
  • 它应该是对称的 cij =cji 。

在R中计算相关矩阵

在R编程中,相关矩阵可以使用cor( )函数来完成,其语法如下。

语法: cor (x, use = , method = )

参数

  • x: 它是一个数字矩阵或一个数据框架。

  • use: 处理缺失的数据。

    • all.obs: 该参数值假定数据框没有缺失值,如果违反,则抛出一个错误。
    • complete.obs: 列表式删除。
    • pairwise.complete.obs: 成对删除。
  • method: 处理关系的类型。皮尔逊、斯皮尔曼或肯德尔都可以用于计算。默认使用的方法是Pearson。

R编程语言中的相关关系

相关矩阵可以在加载数据后在R语言中计算出来。下面的代码片段显示了 cor() 函数的用法。

# loading dataset from the specified url
# storing the data into csv
data = read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/ford_escort.csv",
                header = TRUE, fileEncoding = "latin1")
 
# printing the head of the data
print ("Original Data")
head(data)
 
# computing correlation matrix
cor_data = cor(data)
 
print("Correlation matrix")
print(cor_data)

输出:

[1] "Original Data"
  Year Mileage..thousands. Price
1 1998                  27  9991
2 1997                  17  9925
3 1998                  28 10491
4 1998                   5 10990
5 1997                  38  9493
6 1997                  36  9991

[1] "Correlation matrix"
                         Year Mileage..thousands.      Price
Year                 1.0000000          -0.7480982  0.9343679
Mileage..thousands. -0.7480982           1.0000000 -0.8113807
Price                0.9343679          -0.8113807  1.0000000

计算相关系数

R包含一个内置的函数 rcorr() ,它为一个数据框架的所有可能的列对生成相关系数和p值表。这个函数基本上是计算 Pearson和spearman相关的 显著性水平

语法: rcorr (x, type = c(“pearson”, “spearman”))

了在R中运行这个函数,我们需要下载并加载 “Hmisc “包到环境中。这可以通过以下方式完成。

install.packages(“Hmisc”)
library(“Hmisc”)

下面的代码片断显示了R语言中相关系数的计算过程。

data = read.csv("https://people.sc.fsu.edu/~jburkardt/data/csv/ford_escort.csv",
                header = TRUE, fileEncoding = "latin1")
 
# printing the head of the data
print("Original Data")
head(data)
 
# installing the library of Hmisc
install.packages("Hmisc")
library("Hmisc")
 
# computing p values of the data loaded
p_values <- rcorr(as.matrix(data))
print(p_values)

输出:

[1] "Original Data"
Year Mileage..thousands. Price
1 1998                  27  9991
2 1997                  17  9925
3 1998                  28 10491
4 1998                   5 10990
5 1997                  38  9493
6 1997                  36  9991

Year Mileage..thousands. Price
Year                 1.00               -0.75  0.93
Mileage..thousands. -0.75                1.00 -0.81
Price                0.93               -0.81  1.00

n= 23 


P
                    Year Mileage..thousands. Price
Year                      0                   0   
Mileage..thousands.  0                        0   
Price                0    0                       

相关矩阵的可视化

在R语言中,我们将使用 “corrplot “包来实现一个相关图。因此,为了从R控制台中安装该包,我们应该执行以下命令。

install.packages("corrplot")

一旦我们正确地安装了该软件包,我们将使用library()函数在我们的R脚本中加载该软件包,如下所示。

library("corrplot")

我们将使用corrplot()函数并在其方法参数中提到形状。

# Correlogram in R
# required packages
library(corrplot)
 
head(mtcars)
# correlation matrix
M<-cor(mtcars)
head(round(M,2))
 
# visualizing correlogram
# as circle
corrplot(M, method="circle")
 
# as pie
corrplot(M, method="pie")
 
# as colour
corrplot(M, method="color")
 
# as number
corrplot(M, method="number")

输出:

R编程中的相关矩阵

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程