如何找到与另一个特定变量高度相关的变量?

时间:2019-11-08 14:09:33

标签: r statistics

我有一个数据框,其中包含各种事件中各个人得分的分数。然后将总计列添加到此数据框。现在,如何计算与总列高度相关的变量?

2 个答案:

答案 0 :(得分:1)

这听起来像是一种试图让我们为您完成家庭作业的尝试,但这是第一个步骤(为方便起见,总列被假定为第一列):

sort(sapply(df[,-1], function(x) cor(x,df$total)), decreasing=TRUE)[1:3]

答案 1 :(得分:0)

真正的问题是,您需要调整#error .text{ -fx-fill : red; } #not-error .text{ -fx-fill : black; }输出的结果。融化是您的解决方案。

如果您不想做tidyverse解决方案,请使用cor

reshape::melt.

那是解决方案的代表,

require(dplyr) # for pipe notation and melt
n=1000
set.seed(15)
a=rnorm(n,0)
b=0.5*a                      +rnorm(n,0,.05)
c1=2*a   - 3*b               +rnorm(n,0,0.03)
d=-30*a    +40*b     +50*c1  +rnorm(n,0.01)
e=5*a -             2 * c    + rnorm(n,0,.1)
tot=sum(a,b,c,d,e)

输出如下-从这里开始,您应该可以轻松选出前3名。

ans=k %>% cor %>%  # correlation matrix
          melt %>%  # convert to a 3 column format (var1,var2,correlation)
          filter(X1=='tot' & X2!='tot') %>% # remove uneeded (tot,tot) row
          arrange(-value)  %>% # sort descending