【发布时间】:2019-06-13 17:39:08
【问题描述】:
(最后的问题) 我有一张这样的桌子:
Date Period ID Multi Volume Price
16/01/2019 1 1 -5124.00 -300 34.16
16/01/2019 2 1 -5124.00 -300 34.16
16/01/2019 2 2 -993.30 -60 33.11
16/01/2019 2 3 -4783.00 -200 47.83
16/01/2019 2 4 5906.25 150 78.75
16/01/2019 2 5 -3342.50 -382 17.50
16/01/2019 2 6 8745.00 220 79.50
16/01/2019 2 7 16050.00 300 107.00
16/01/2019 3 1 -5124.00 -300 34.16
16/01/2019 3 2 -993.30 -60 33.11
16/01/2019 3 3 -3955.00 -200 39.55
期间是小时。发布新数据时,既可以包含新数据,例如第 4 小时 ID 1,也可以包含第 2 小时的新数据,然后新数据接收第 2 小时的 ID 8。
然后新数据将如下所示。它不再显示第一个小时,因为它属于过去。它显示了 hour2 hour5 的新观察结果,H4 没有。
Date Period ID Multi Volume Price
16/01/2019 2 1 -5124.00 -300 34.16
16/01/2019 2 2 -993.30 -60 33.11
16/01/2019 2 3 -4783.00 -200 47.83
16/01/2019 2 4 5906.25 150 78.75
16/01/2019 2 5 -3342.50 -382 17.50
16/01/2019 2 6 8745.00 220 79.50
16/01/2019 2 7 16050.00 300 107.00
15/01/2019 2 8 16050.00 300 107.00
16/01/2019 3 1 -5124.00 -300 34.16
16/01/2019 3 2 -993.30 -60 33.11
16/01/2019 3 3 -3955.00 -200 39.55
16/01/2019 5 1 -3955.00 -200 39.55
如何将新数据与旧数据合并。 额外的信息是我在某些日子不会收到任何新信息。
ID 是该小时的交易。特定时间的每笔新交易都会获得一个新的交易 ID。每次有(a)新交易时,我都会获取数据。交易可以提前 24 小时进行。当发生新交易时,我会收到包含从现在到 +24 小时所有已确认交易的 CSV 文件,而不仅仅是新交易。就像我展示的表格一样。所以我必须找出旧数据集和新 csv 文件之间的区别,然后将新行/行添加到旧数据集中并等到收到新的 csv 文件
我只想打开旧数据集并写一些类似的东西
if Date_new = Date_old Then
If Period_new = period_old Then
IF ID_new > ID_old Then
Add the new rows to old dataset.
end if
else if Perioed_new > period_old Then
Add the new rows to old dataset
end if
else if Date New > Date_old then
Add the new rows to old dataset
end if
sort dataset by date -> period -> ID.
save dataset.
我从 matlab 过渡到 R 并被这部分卡住了。 我可以让它看看是否有 csv 然后打开 csv 从原始数据到我想要的结构的转换并将其保存到数据库中。
希望有人可以就如何建模日期集提供一些提示。我花了几个小时寻找这个相对简单问题的解决方案......
最好的 弗雷德里克
【问题讨论】: