我对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
答案 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