我在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的方法。我已经查看了许多问题的答案,但没有一个有效。
我遇到的一些错误是:
有人能帮助我吗?
答案 0 :(得分:5)
csv代表逗号 -separated-values,因此问题中显示的布局不是csv。我们假设数据确实是csv形式,而不是显示问题的形式。如果它确实是问题中显示的形式而不是csv,那么省略下面sep=","
中的read.zoo
参数。此外,如果存在其他偏差,您可能需要进一步修改参数。请参阅动物园套餐中的?read.zoo
和Reading 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)