R编程中的相关矩阵
相关性是指两个变量之间的关系。它是指任意两个随机变量之间线性相关的程度。这种关系可以表示为区间 [-1, 1] 内表示的值范围。值 -1 表示完美的非线性(负)关系,1 表示完美的正线性关系,0 是介于正线性相关性和负线性相关性之间的中间值。但是,值为 0 并不表示变量完全相互独立。相关矩阵计算一组随机变量之间的线性关系程度,一次取一对并针对数据中的每组对执行。
相关矩阵的性质
- 相关矩阵的所有对角元素都必须为 1,因为变量与其自身的相关性总是完美的,c ii =1。
- 它应该是对称的 c ij =c ji 。
在 R 中计算相关矩阵
在 R 编程中,可以使用 cor()函数完成相关矩阵,其语法如下:
Syntax: cor (x, use = , method = )
Parameters:
x: It is a numeric matrix or a data frame.
use: Deals with missing data.
- all.obs: this parameter value assumes that the data frame has no missing values and throws an error in case of violation.
- complete.obs: listwise deletion.
- pairwise.complete.obs: pairwise deletion.
method: Deals with a type of relationship. Either Pearson, Spearman, or Kendall can be used for computation. The default method used is Pearson.
加载数据后,可以在 R 中计算相关矩阵。以下代码片段指示了cor()函数的用法:
R
# loading dataset from the speicified 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)
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
[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 相关性的显着性水平。
Syntax:
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 编程中使用相关图可视化相关矩阵
- 在 R 编程中使用符号函数可视化相关矩阵