使用 ggpairs 获取相关值
Using ggpairs to get correlation values
我使用 ggpairs
得到以下图:
我想知道哪对的绝对相关性最大。但是,当某些对(例如 Power-Span、Power-Length、Span-Length 等)被绘图覆盖时,我应该如何确定这一点?另外,有没有更简单的方法来查看相关性(以文本格式),而不是必须通过图像查看它们?
Power
和Span
之间的相关系数与Span
和Power
之间的相关系数相同。相关系数是根据点与最佳拟合线之间的平方差之和计算的,因此哪个系列在哪个轴上无关紧要。因此,您可以在右上角读取相关系数,在左下角查看散点图。
cor
函数returns两个向量之间的相关系数。顺序无关紧要。
set.seed(123)
x <- runif(100)
y <- rnorm(100)
cor(x, y)
[1] 0.05564807
cor(y, x)
[1] 0.05564807
如果您将 data.frame(或类似的)输入 cor()
,您将获得每对变量之间相关系数的相关矩阵。
set.seed(123)
df <- data.frame(x= rnorm(100),
y= runif(100),
z= rpois(100, 1),
w= rbinom(100, 1, .5))
cor(df)
x y z w
x 1.00000000 0.05564807 0.13071975 -0.14978770
y 0.05564807 1.00000000 0.09039201 -0.09250531
z 0.13071975 0.09039201 1.00000000 0.11929637
w -0.14978770 -0.09250531 0.11929637 1.00000000
您可以在此矩阵中看到围绕对角线的对称性。
如果要以编程方式识别最大 (non-unity) 相关系数,可以执行以下操作:
library(dplyr)
library(tidyr)
cor(df) %>%
as_data_frame(rownames = "var1") %>%
pivot_longer(cols = -var1, names_to = "var2", values_to = "coeff") %>%
filter(var1 != var2) %>%
arrange(desc(abs(coeff)))
# A tibble: 12 x 3
var1 var2 coeff
<chr> <chr> <dbl>
1 x w -0.150
2 w x -0.150
3 x z 0.131
4 z x 0.131
5 z w 0.119
6 w z 0.119
7 y w -0.0925
8 w y -0.0925
9 y z 0.0904
10 z y 0.0904
11 x y 0.0556
12 y x 0.0556
我使用 ggpairs
得到以下图:
我想知道哪对的绝对相关性最大。但是,当某些对(例如 Power-Span、Power-Length、Span-Length 等)被绘图覆盖时,我应该如何确定这一点?另外,有没有更简单的方法来查看相关性(以文本格式),而不是必须通过图像查看它们?
Power
和Span
之间的相关系数与Span
和Power
之间的相关系数相同。相关系数是根据点与最佳拟合线之间的平方差之和计算的,因此哪个系列在哪个轴上无关紧要。因此,您可以在右上角读取相关系数,在左下角查看散点图。
cor
函数returns两个向量之间的相关系数。顺序无关紧要。
set.seed(123)
x <- runif(100)
y <- rnorm(100)
cor(x, y)
[1] 0.05564807
cor(y, x)
[1] 0.05564807
如果您将 data.frame(或类似的)输入 cor()
,您将获得每对变量之间相关系数的相关矩阵。
set.seed(123)
df <- data.frame(x= rnorm(100),
y= runif(100),
z= rpois(100, 1),
w= rbinom(100, 1, .5))
cor(df)
x y z w
x 1.00000000 0.05564807 0.13071975 -0.14978770
y 0.05564807 1.00000000 0.09039201 -0.09250531
z 0.13071975 0.09039201 1.00000000 0.11929637
w -0.14978770 -0.09250531 0.11929637 1.00000000
您可以在此矩阵中看到围绕对角线的对称性。
如果要以编程方式识别最大 (non-unity) 相关系数,可以执行以下操作:
library(dplyr)
library(tidyr)
cor(df) %>%
as_data_frame(rownames = "var1") %>%
pivot_longer(cols = -var1, names_to = "var2", values_to = "coeff") %>%
filter(var1 != var2) %>%
arrange(desc(abs(coeff)))
# A tibble: 12 x 3
var1 var2 coeff
<chr> <chr> <dbl>
1 x w -0.150
2 w x -0.150
3 x z 0.131
4 z x 0.131
5 z w 0.119
6 w z 0.119
7 y w -0.0925
8 w y -0.0925
9 y z 0.0904
10 z y 0.0904
11 x y 0.0556
12 y x 0.0556