【发布时间】:2018-11-26 15:57:19
【问题描述】:
我有一个data.table A:
A = data.table(firmID = c("89031", "89031", "89031", "89031", "89031", "89031"), date = c("20170403","20170404", "20170405", "20170406", "20170407", "20170408"), TICKER = c("TSAR", "TSAR", "TSAR", "AAXN", "AAXN", "AAXN" ) )
这里包含列“firmID”、“date”、“TICKER”。
现在,firmID 跟踪同一家公司,即使他们的 TICKER 发生了变化。在这里,我们看到 TICKER 从 20170426 开始从 AAXN 更改为 TSAR。
我想做一个这样的表B:
B = data.table(firmID = c("89031", "89031"), STARTdate = c("20170403", "20170406"), ENDdate = c("20170405", "20170408"), TICKER = c("TSAR", "AAXN"))
这样,当TICKER被分别调用时,它就有一个时间间隔。然后可以使用该表与另一个没有使用 foverlaps() 函数的firmID 的数据集合并。
知道如何在不编写 for 循环并将每条记录与前一条记录进行比较等情况下做到这一点吗?
谢谢。
【问题讨论】:
标签: r data.table intervals