我在处理一个xts对象时遇到了删除重复行的问题。我有一个R脚本,可以下载货币的tick金融数据并将其转换为OHLC格式的xts对象。该脚本还会每15分钟拉取新数据。新数据是从今天的第一笔交易到今天最后一笔记录的交易下载的。之前下载的旧数据以.Rdata格式存储并被调用。然后将新数据添加到旧数据中,并覆盖.Rdata格式的旧数据。
以下是我的数据示例:
现在,如果我再次运行脚本,我将把新数据添加到xts中。
以下是我的数据示例:
.Open .High .Low .Close .Volume .Adjusted
2012-01-07 00:00:11 6.69683 7.01556 6.38000 6.81000 48387.58 6.81000
2012-01-08 00:00:09 6.78660 7.20000 6.73357 7.11358 57193.53 7.11358
2012-01-09 00:00:57 7.08362 7.19100 5.81000 6.32570 148406.85 6.32570
2012-01-10 00:01:01 6.32687 6.89000 6.00100 6.36000 110210.25 6.36000
2012-01-11 00:00:07 6.44904 7.13800 6.41266 6.90000 99442.07 6.90000
2012-01-12 00:01:02 6.90000 6.99700 6.33700 6.79999 140116.52 6.79999
2012-01-13 00:02:01 6.78211 6.80400 6.40000 6.41000 60228.77 6.41000
2012-01-14 00:00:23 6.42000 6.50000 6.23150 6.31894 25392.98 6.31894
现在,如果我再次运行脚本,我将把新数据添加到xts中。
.Open .High .Low .Close .Volume .Adjusted
2012-01-07 00:00:11 6.69683 7.01556 6.38000 6.81000 48387.58 6.81000
2012-01-08 00:00:09 6.78660 7.20000 6.73357 7.11358 57193.53 7.11358
2012-01-09 00:00:57 7.08362 7.19100 5.81000 6.32570 148406.85 6.32570
2012-01-10 00:01:01 6.32687 6.89000 6.00100 6.36000 110210.25 6.36000
2012-01-11 00:00:07 6.44904 7.13800 6.41266 6.90000 99442.07 6.90000
2012-01-12 00:01:02 6.90000 6.99700 6.33700 6.79999 140116.52 6.79999
2012-01-13 00:02:01 6.78211 6.80400 6.40000 6.41000 60228.77 6.41000
2012-01-14 00:00:23 6.42000 6.50000 6.23150 6.31894 25392.98 6.31894
2012-01-14 00:00:23 6.42000 6.75000 6.22010 6.57157 75952.01 6.57157
如您所见,最后一行与倒数第二行是同一天。我想保留最后一天的最后一行,并删除倒数第二行。当我尝试使用以下代码删除重复行时,它并没有起作用,重复的行仍然存在。
xx <- mt.xts[!duplicated(mt.xts$Index),]
xx
.Open .High .Low .Close .Volume .Adjusted
我没有得到任何结果。如何使用索引作为重复数据条目的指示器,在xts对象中删除重复数据条目?
!duplicated(mt.xts)
? - joran