2017-07-06 81 views
0

请建议如何将索引作为添加到DF的日期。当下载最新的报价已经添加索引,则需要为DF通过加做同样的read.csv添加日期作为索引

这是例子:

library(quantmod) 
> getSymbols("^GSPC",src="yahoo",from=as.Date("2017-07-01",to=Sys.Date())) 
[1] "GSPC" 
> df<-read.csv("D:\\R\\tmp1\\SiM7.csv",header=F,skip=1,sep=";") 

(因为它应该是)

> GSPC[1,] 
     GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted 
2017-07-03 2431.39 2439.17 2428.69 2429.01 1962290000  2429.01 
> 

(事实证明)

> df[1,] 
V1 V2  V3  V4 V5 V6 V7 V8  V9 V10 
1 SiM7 5 20170522 100000 57236 57236 56767 56785 108295 0 
> 

通过索引(DF)< -df添加[3]不工作,你西澳日期nt添加已经存在并通过read.csv导入请帮助,谢谢

+0

'index()'包来自哪个包? (来自'index(df)< - df [,3]')。我没有在[quantmod]中看到它(https://www.rdocumentation.org/packages/quantmod)。 – wibeasley

+0

对不起,索引包:动物园(这是与quantmod pckg自动加载) –

回答

0

index与动物园和xts对象,而不是数据框。有关更多信息,请参阅?index。还请查看class(GSPC)class(df)以查看此差异。

如果您的目标是将您的data.frame df转换为与GSPC相同的xts对象,请参阅?xts

首先将V3中的日期值转换为基于时间的对象。它看起来好像你的日期是数值。所以df_date_vec <- as.Date(as.character(df$V3), format = "%Y%m%d")将创建一个日期向量。然后你可以通过sim_7 <- xts(df$V10, order.by = df_date_vec)创建一个类似于GSPC的xts对象。现在index(sim_7)将返回日期。

这是假设你想要列V10。如果你想多列试试cbind

+0

请告诉我如何重复这个时间... df [,4] - 时间 我需要日期和时间索引,例如(日期时间时间) –

+0

查看日期和时间格式[https://www.stat.berkeley.edu/~s133/dates.html](https://www.stat.berkeley.edu/~s133/dates.html)。 –