【发布时间】: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
基本上,我需要计算 return1 和 rank 之间的特定日期相关性(因此在 2008 年 1 月 31 日、2008 年 2 月 31 日等的更正)。我知道我可以使用 split() 函数拆分数据,但我不确定如何获得特定日期的相关性。真实数据每个日期大约有 260 个条目,大约有 68 个日期,因此手动对原始表进行子集化和执行计算非常耗时,但更重要的是更容易出错。
我的最终目标是创建不同日期相关性的时间序列。
提前谢谢你!
【问题讨论】:
-
这张
dplyr和tidyr备忘单包含您需要的一切,并以清晰有序的方式呈现: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