【问题标题】:Calculating correlations between response and certain explanatory variables计算响应和某些解释变量之间的相关性
【发布时间】:2011-12-01 15:15:06
【问题描述】:

我想创建一个列,让我知道我的因变量与我感兴趣的所有解释变量的相关性(所有这些列以及更多列都存储在 data.frame d 中)。通过做 cor(d) 我可以得到所有的相关性,通过做 cor(d$Var1, d$Var2) 我可以得到一个数字,但我想弄清楚如何从返回的矩阵中只获取 Var1 列cor(d),我可以选择我想要包含的解释变量。

【问题讨论】:

    标签: r


    【解决方案1】:
    M <- round(cor(College[,-1]),2)
    
    library('corrplot') #package corrplot
    

    如果我们想要图像而不是直接数字,我们也可以使用圆形、方形、日食来代替数字

    corrplot(M, method = "number") #plot matrix
    

    Corelation matrix

    【讨论】:

      【解决方案2】:

      @DavidR 是正确的,尽管 R 也支持 X 的列和 Y 的列之间的相关性:

      cor(X, Y)
      

      更多信息请参见?cor。

      【讨论】:

        【解决方案3】:

        cor 函数实际上也可以做到这一点。 假设我们有:

        d=data.frame(dependentVar = c(1,2,3),var1=c(-1,-2,-3),var2=c(9,0,5),junk=c(-2,-3,5))
        

        这样就可以解决问题了:

        cor(d[,"dependentVar"], d[,c("var1","var2")])
             var1       var2
        [1,]   -1 -0.4435328
        

        效率较低(我猜),但您也可以这样做:

        cor(d)["dependentVar", c("var1","var2")]
        

        它计算完整的相关矩阵,然后提取出你想要的子集。

        【讨论】:

          猜你喜欢
          • 2019-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-04
          • 1970-01-01
          • 1970-01-01
          • 2019-07-23
          • 2018-05-20
          相关资源
          最近更新 更多