2012-02-17 49 views
2

我有一个CSV这样的数据:研究 - 从CSV股市数据XTS

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坏的条目中,数据行
  • 不明确的数据。

任何人都可以帮助我吗?

+4

请提供您尝试的代码和您收到的确切错误。 – 2012-02-17 21:52:21

回答

5

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

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

请参阅R News 4/1哪些具体处理Excel日期处理日期注意到如果正在使用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)