查找多列与r中一列的聚合相关性

Finding aggregate correlation of multiple columns against one column in r

我有一个包含 11 列的数据框,其中 9 列是数字。我试图找出 8 列与剩余列的相关性,即 8 个变量与 1 个变量的相关性,它应该生成一个相关值而不是在矩阵中生成 9 个不同的值。

可能吗?或者我是否需要在计算个体相关性后计算平均相关性?例如,我试图找到 X、Y、Z 与 A 的相关性。使用上述方法,我得到一个矩阵,它给出了 X 的个体关联分数, Y、Z 和 A,因为我需要一个考虑所有三个 X、Y 和 Z 的分数。

为了便于说明,下面给出了一个模拟的 df

          x            y           z   a
1   1.72480753  0.007053053  0.32435032  10
2   0.97227885 -0.844118498 -0.75534119  20
3  -0.53844294 -0.036178789  0.89396765  30
4   1.34695331  0.870119744  0.99400826  40
5   0.02336335  0.514481676  0.95894286  50
6  -0.15239307  0.386061290  0.73541287  60
7  -0.29878116  1.615012645 -0.04416341  70
8  -1.10907706 -1.581093487 -0.93293702  80
9   2.73021114 -0.130141775  1.85304372  90
10  0.22417487  1.170900385 -0.68312974 100

我可以将每一行和变量与 a 相关联,但我想要的是 x、y、z 的相关性与 a

corr.test(df[,1:3],df[,4])

对于解决此问题的任何帮助,我将不胜感激。

此致,

如果你想计算每个变量与 a 的相关性,你可以这样做:

head(cor(df)[,"a"], -1)
#           x           y           z 
# -0.14301569  0.19188340 -0.06561505 

你说你想通过平均来合并这些值,所以我想你可以取平均值:

mean(head(cor(df)[,"a"], -1))
# [1] -0.005582445

Pearson Correlation 被定义为将一个值序列(或向量)与另一个值序列(或向量)相关联的数字(查找)。据我所知,一组向量与另一组向量没有大致等效的定义,但您可以做一些事情,比如取平均向量(3 个向量中的)并将 a 与它相关联。

至少对我而言,这比取 3 个相关值的平均值具有更直接的几何意义。