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