r - 数据框的多个变量之间的相关性按不同的变量分组
问题描述
假设我有一个如下所示的数据框(实际数据框有数百万个观察值)。我正在尝试通过 signal_up 列的各种值来查找信号列和其他净返回列组之间的相关性。
我尝试过“dplyr”库和“group_by”和“summarize”函数的组合。但是,我只能获得两列而不是多列之间的相关性。
library(dplyr)
df %>%
group_by(Signal_Up) %>%
summarize (COR=cor(signal, Net_return_at_t_plus1))
数据和预期结果如下。
数据
期望的结果
“信号”与 [“Net_return_at_t_plus1”、“Net_return_at_t_plus5”、“Net_return_at_t_plus10”] 之间的相关性
按“Signal_Up”分组
解决方案
也许您可以尝试使用summarise_at
在多个列上执行相关性。
在这里,我以iris
数据集为例:
library(dplyr)
iris %>% group_by(Species) %>%
summarise_at(vars(Sepal.Length:Petal.Length), ~cor(Petal.Width,.))
# A tibble: 3 x 4
Species Sepal.Length Sepal.Width Petal.Length
<fct> <dbl> <dbl> <dbl>
1 setosa 0.278 0.233 0.332
2 versicolor 0.546 0.664 0.787
3 virginica 0.281 0.538 0.322
对于您的数据集,您应该尝试以下操作:
library(dplyr)
df %>% group_by(Signal_Up) %>%
summarise_at(vars(Net_return_at_t_plus1:Net_return_at_t_plus1), ~cor(signal,.))
它回答了你的问题吗?
注意:如果您提供可重现的示例,人们可以更轻松地尝试解决您的问题,他们可以轻松复制/粘贴而不是将其添加为图像(请参阅:如何制作出色的 R 可重现示例)
推荐阅读
- wso2 - wso2 apim 3.0.0中deployment.toml的使用
- python - 将 pandas 数据框转换为命名元组列表
- java - 在 AWS java 版本 2.10.4 中,控制在 S3Client 的初始化时挂起
- angular - 将应用程序 URL 从一个选项卡复制到另一个选项卡导致 404 错误
- javascript - 复杂的 if else jQuery 语句
- c++ - 将多个输出保存在 C++ 中的文本文件中
- angular - 如何在部署时更新 css url?
- swift - URLComponents 在添加路径时添加了神秘字符
- azure-devops - 执行 DotNetCoreCLI@2 任务时排除项目
- ios - 什么是 GDTCORStorage 类和 unarchivedObjectOfClass?