代码之家  ›  专栏  ›  技术社区  ›  Ryan Porter

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

  •  1
  • Ryan Porter  · 技术社区  · 7 年前

    以下是链接结构:

    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")
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Julius Vainora    7 年前

    我想说有几对变量的相关系数在这里很有趣。特别地:

    • “至”州的权重与幸福感(WB),
    • “来自”状态的重量与WB,
    • 重量vs.(“至”的WB-“至”的WB)。

    因此,我们可以从进行双重合并开始

    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)))
    

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

    推荐文章