【问题标题】:calculating date specific correlation in r (leading to a potential time series)计算 r 中的日期特定相关性(导致潜在的时间序列)
【发布时间】:2016-10-09 04:45:00
【问题描述】:

我有一个看起来有点像这样的数据集(实际数据集大约是 150000 行,其中包含额外的绒毛信息列,例如公司名称等):

Date         return1   return2   rank
01/31/2008   0.05434   0.23413   3
01/31/2008   0.03423   0.43423   4
01/31/2008   0.65277   0.23423   1
01/31/2008   0.02342   0.47234   4
02/31/2008   0.01463   0.01231   4
02/31/2008   0.13456   0.52552   2
02/31/2008   0.34534   0.36663   1
02/31/2008   0.00324   0.56463   3
...
12/31/2015   0.21234   0.02333   2
12/31/2015   0.07245   0.87234   1
12/31/2015   0.47282   0.12998   1
12/31/2015   0.99022   0.03445   2

基本上,我需要计算 return1rank 之间的特定日期相关性(因此在 2008 年 1 月 31 日、2008 年 2 月 31 日等的更正)。我知道我可以使用 split() 函数拆分数据,但我不确定如何获得特定日期的相关性。真实数据每个日期大约有 260 个条目,大约有 68 个日期,因此手动对原始表进行子集化和执行计算非常耗时,但更重要的是更容易出错。

我的最终目标是创建不同日期相关性的时间序列。

提前谢谢你!

【问题讨论】:

  • 这张dplyrtidyr 备忘单包含您需要的一切,并以清晰有序的方式呈现:rstudio.com/wp-content/uploads/2015/02/…
  • 太棒了,非常感谢。仅供参考,使用建议的表格我发现答案是:correlations<-as.data.frame(merged_data%>%group_by(Date)%>%summarise(cor(X1.Mo..Forward.Returns,Team Rank)))

标签: r date time-series subset correlation


【解决方案1】:

我之前也遇到过同样的问题,只是我没有计算相关性。我会做的是

a %>% group_by(Date) %>% summarise(Correlation = cor(return1, rank))

这将为每个日期提供return1rank 之间的相关值。不要忘记您可以指定您想要的相关性(例如 Spearman)。

【讨论】:

    猜你喜欢
    • 2015-01-22
    • 2012-12-10
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2018-02-27
    • 2021-11-07
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多