将日期添加为索引

时间:2017-07-06 15:25:29

标签: r

请建议如何将其编入索引作为添加到DF的日期。当下载引号date添加了索引时,需要对read.csv

添加的df执行相同的操作

这是一个例子:

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)&lt; -df [,3]不起作用,您想要添加的日期已经存在并通过read.csv导入请帮助,谢谢

1 个答案:

答案 0 :(得分:0)

index适用于zoo和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")将创建日期向量。然后,您可以GSPC创建类似于sim_7 <- xts(df$V10, order.by = df_date_vec)的xts对象。现在index(sim_7)将返回日期。

这是假设你想要列V10。如果您想要多列,请尝试cbind