计算R中3个变量之间的相关性

Calculating correlation between 3 variables in R

我是 R 的新手,需要一些帮助来尝试计算三个变量之间的相关性。我想做的是查看健康评分指数与从一个状态转移到下一个状态的体重(人数)之间是否存在相关性。 "from" 列是人们搬离的州,"to" 列是他们搬去的地方。权重是从该状态转移到新状态的人数。我需要计算人们离开的地方与 "to" 州的幸福指数得分之间是否存在相关性。我希望这是有道理的,但如果有任何问题,我可以尝试解释更多。我浏览了一些在线论坛,但找不到与我类似的问题,需要编码部分的帮助。

链接结构如下:

structure(list(from = c("Alabama", "Alabama", "Alabama", "Alabama", "Alabama", "Alabama"), to = c("Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut"), weight = c(423L, 894L, 2057L, 3045L, 2328L, 1102L)), row.names = c(NA, 6L), class = "data.frame")

这是节点结构:

structure(list(State = c("Hawaii", "Alaska", "South Dakota", "Maine", "Colorado", "Vermont"), Well.Being.Score = c(65.2, 64, 63.7, 63.6, 63.5, 63.5), Social.Rank = c(46L, 1L, 29L, 18L, 21L, 5L), Financial.Rank = c(1L, 2L, 3L, 10L, 19L, 39L)), row.names = c(NA, 6L), class = "data.frame")

我想说这里有几对变量的相关系数值得关注。特别是:

  • "to" 个州的体重与幸福感 (WB),
  • "from" 个州的权重与 WB,
  • "to" 与 "from"、
  • 的白平衡
  • 体重对比("to" 的体重 - "from" 的体重)。

所以我们可以从进行双重合并开始

m <- merge(merge(links, nodes, by.x = "to", by.y = "State"), 
           nodes, by.x = "from", by.y = "State", suff = c(".to", ".from"))

现在我们将所有感兴趣的变量放在同一个地方,并且

with(m, cor(cbind(weight, WB.from = Well.Being.Score.from, 
                  WB.to = Well.Being.Score.to,
                  WB.diff = Well.Being.Score.to - Well.Being.Score.from)))

应该return一个有趣的相关矩阵(这里没有输出,因为可用数据太少)。