如何计算r中多个变量之间的相关性
量化两个变量之间关系的一种方法是使用Pearson 相关系数,它是两个变量之间线性关联的度量。它始终采用 -1 和 1 之间的值,其中:
- -1 表示两个变量之间完全负线性相关
- 0 表示两个变量之间不存在线性相关
- 1 表示两个变量之间存在完全正线性相关
本教程以以下数据框为例,介绍如何计算 R 中多个变量之间的相关性:
#create data frame
df <- data.frame(a <- c(2, 3, 3, 5, 6, 9, 14, 15, 19, 21, 22, 23),
b <- c(23, 24, 24, 23, 17, 28, 38, 34, 35, 39, 41, 43),
c <- c(13, 14, 14, 14, 15, 17, 18, 19, 22, 20, 24, 26),
d <- c(6, 6, 7, 8, 8, 8, 7, 6, 5, 3, 3, 2))
示例 1:两个变量之间的相关性
下面的代码展示了如何计算数据框中两个变量之间的相关性:
cor(df$a, df$b) [1] 0.9279869
示例 2:多个变量之间的相关性
下面的代码展示了如何计算数据框中三个变量之间的相关性:
cor(df[, c(' a ', ' b ', ' c ')]) ABC a 1.0000000 0.9279869 0.9604329 b 0.9279869 1.0000000 0.8942139 c 0.9604329 0.8942139 1.0000000
结果解释方式如下:
- a和b之间的相关性为 0.9279869。
- a和c之间的相关性为 0.9604329。
- b和c之间的相关性为 0.8942139。
示例 3:所有变量之间的相关性
下面的代码展示了如何计算数据框中所有变量之间的相关性:
cor(df) abcd a 1.0000000 0.9279869 0.9604329 -0.7915488 b 0.9279869 1.0000000 0.8942139 -0.7917973 c 0.9604329 0.8942139 1.0000000 -0.8063549 d -0.7915488 -0.7917973 -0.8063549 1.0000000
示例 4:仅数值变量之间的相关性
以下代码显示如何计算数据框中仅数字变量之间的相关性:
cor(df[, unlist ( lapply (df, is. numeric ))]) abcd a 1.0000000 0.9279869 0.9604329 -0.7915488 b 0.9279869 1.0000000 0.8942139 -0.7917973 c 0.9604329 0.8942139 1.0000000 -0.8063549 d -0.7915488 -0.7917973 -0.8063549 1.0000000
示例 5:可视化相关性
以下代码演示了如何创建成对图 – 一种允许您可视化变量的每个成对组合之间的关系的图:
#load psych package library(psych) #create pairs plot peers. panels (df)