如何在R中创建基于时间的文件

时间:2015-03-19 05:30:27

标签: r xts

我想我会在这里发帖,因为我花了好几个小时试图解决这个问题。因此,我正在使用具有日期和结算返回价格的csv文件。但是,我无法将文件设置为" timeBased。" (timeBased函数来自包xts)。例如:

timeBased(dfx)
[1] FALSE

这就是我所拥有的:

dfx = xts(aus$AUS, order.by=as.Date(aus$DATE))

并且这里是文件的前10行:

DATE    AUS
1   12/1/1988   -0.0031599720
2   12/2/1988   -0.0015724670
3   12/5/1988   -0.0000897619
4   12/6/1988   -0.0022670620
5   12/7/1988   0.0052895550
6   12/8/1988   -0.0048259860
7   12/9/1988   0.0106990910
8   12/12/1988  0.0033538810
9   12/13/1988  0.0118568700
10  12/14/1988  -0.0050105200

如果有人可以提供帮助,我将不胜感激!我尝试使用动物园和其他编辑的多个代码,但没有。谢谢!! [在此处输入图片说明] [1]

1 个答案:

答案 0 :(得分:1)

正如约书亚·乌尔里希所指出的,使用带有xts对象的timeBased函数应该返回FALSE。除此之外,您的代码可能还有其他问题。假设您的示例显示aus的内容,则aus$DATE实际上是因子或字符数据,而不是Date对象。要正确转换为xts对象,您必须指定aus$DATE数据的日期格式。要转换然后测试dfx是否为xts对象,可以使用以下代码:

 dfx = xts(aus$AUS, order.by=as.Date(aus$DATE, "%m/%d/%Y"))
 dfx
                [,1]
1988-12-01 -0.0031599720
1988-12-02 -0.0015724670
1988-12-05 -0.0000897619
1988-12-06 -0.0022670620

timeBased(dfx)
[1] FALSE

is.xts(dfx)
[1] TRUE