R - 从csv到xts的股票市场数据

时间:2012-02-17 21:49:02

标签: r csv xts data-manipulation

我在CSV中有这些数据:

Date  ALICORC1 ALT   ATACOBC1 AUSTRAC1 CONTINC1 BVN   DNT
40886 5.8      0.1   0.9      0.28     5.45     38.2  1.11
40889 5.8      0.1   0.88     0.28     5.37     37.7  1.04
40890 5.8      0.09  0.87     0.27     5.33     37.4  0.99
40891 5.7      0.1   0.85     0.27     5.3      37.5  0.91

这些是来自秘鲁股票市场的股票收盘价,我想将它们转换为xts所以我可以找到最佳投资组合和其他东西,但我找不到将此CSV转换为xts的方法。我已经查看了许多问题的答案,但没有一个有效。

我遇到的一些错误是:

  • 索引在数据行中有XXXX个错误条目
  • 模棱两可的数据。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:5)

csv代表逗号 -separated-values,因此问题中显示的布局不是csv。我们假设数据确实是csv形式,而不是显示问题的形式。如果它确实是问题中显示的形式而不是csv,那么省略下面sep=","中的read.zoo参数。此外,如果存在其他偏差,您可能需要进一步修改参数。请参阅动物园套餐中的?read.zooReading Data in Zoo小插图。

在这里,我们使用zoo包中的read.zoo将数据作为动物园对象z读入,然后我们将其转换为xts,x

请参阅专门处理Excel日期处理的R News 4/1,注意如果正在使用Mac版本的Excel(如参考文献中所述),我们可能需要稍微修改下面的代码。

library(xts) # this also loads zoo which has read.zoo

toDate <- function(x) as.Date(x, origin = "1899-12-30")
z <- read.zoo("myfile.csv", header = TRUE, sep = ",", FUN = toDate)
x <- as.xts(z)
相关问题