Quantmod以正确格式加载数据的难度

时间:2019-02-09 18:24:19

标签: quantmod

我对R很陌生,我观看了一个youtube视频来进行各种时间序列分析,但是它从yahoo下载了数据-我的数据在Excel中。我想进行同样的分析,但要使用excel.csv文件中的数据。我花了两天时间才能确定日期必须是美国风格。现在,我再次停留在一个基本步骤上-加载数据以便对其进行分析-这似乎是R的最大障碍。请有人能为我提供一些指导,以指导下面显示的命令为什么不返回完整的结果。列集。我尝试了Zoo格式,但是没有用,然后我尝试了xts,但部分运行。我怀疑最初从excel导入是主要问题。我可以得到一些指导吗

> AllPrices <- as.zoo(AllPrices)
> head(AllPrices)
             Index1   Index2   Index3  Index4   Index5   Index6   Index7   Index8   Index9 Index10

> AllRets <- dailyReturn(AllPrices)
Error in NextMethod("[<-") : incorrect number of subscripts on matrix
> AllPrices<- as.xts(AllPrices)
> AllRets <- dailyReturn(AllPrices)
> head(AllRets)
           daily.returns
2012-11-06  0.000000e+00
2012-11-07 -2.220249e-02
2012-11-08  1.379504e-05
2012-11-09  2.781961e-04
2012-11-12 -2.411128e-03
2012-11-13  7.932869e-03

1 个答案:

答案 0 :(得分:0)

尝试使用readr包加载数据。

library(readr)

然后,通过在控制台中运行?read_csv来查看文档。

我建议您以这种方式读取您的数据。指定列类型。例如,如果第一列是日期,则将其读为字符“ c”,而其他列为数字,则使用“ n”。

data <- read_csv('YOUR_DATA.csv', col_types = "cnnnnn") # date in left column, 5 numeric columns
data$Dates <- as.Date(data$Dates, format = "%Y-%m-%d") # make the dates column a date class (you need to update "Dates" to be your column name for the Dates column, you may need to change the format
data <- as.data.frame(data) # turn the result into a dataframe
data <- xts(data[,-1], order.by = XAU[,1]) # then make an xts, data is everything but the date column, order.by is the date column