【问题标题】:Creating vector of all individual correlation [duplicate]创建所有个体相关性的向量[重复]
【发布时间】:2019-11-29 17:23:50
【问题描述】:

我正在尝试为每个横截面单元创建一个包含所有变量相关性的向量,使用dplyr 方法会返回错误,因为变量需要是数字的。

不知道怎么解决

我最终需要的是一个数据框,其中包含 crmrte 变量和所有其他解释变量之间的相关性,但在横截面级别。

我需要在下面指定代码:

cors <- crime %>%
  group_by(county) %>%
  summarize(cor = cor(crmrte, prbarr))

更新:

作为suggested by Sotos,将上面的代码概括为自动我这样做了:

cors <- crime %>% 
  group_by(county) %>% 
  summarise_at(vars(names(crime)[4:ncol(crime)]), funs(cor(crmrte, .)))

但不确定是否是正确的方法

【问题讨论】:

  • 里面有很多i...
  • 你是什么意思你的代码
  • 不要将答案复制粘贴到您的问题中并将其呈现为您的问题。
  • 我的意思是你的代码 - 抱歉,我的代码是因为前面的例子是关于横截面数据的,这个例子是关于面板数据的
  • 我建议你拿一个小例子,手动计算,然后对照代码检查它们以交叉引用

标签: r dplyr correlation


【解决方案1】:

您可以使用 summarise_atvars() 一起自动引用名称

library(dplyr)

mtcars %>% 
 group_by(cyl) %>% 
 summarise_at(vars(names(mtcars)[6:10]), funs(cor(mpg, .)))

给出,

 # A tibble: 3 x 6
    cyl     wt   qsec      vs     am     gear
  <dbl>  <dbl>  <dbl>   <dbl>  <dbl>    <dbl>
1     4 -0.713 -0.236  0.0488 0.536   0.339  
2     6 -0.682 -0.419 -0.530  0.530  -0.00949
3     8 -0.650 -0.104 NA      0.0496  0.0496 

【讨论】:

  • 我提供了更规范的面板数据集
猜你喜欢
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 2013-10-26
  • 2013-09-07
  • 2023-03-26
  • 2015-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多