R中的日期问题

时间:2014-10-31 09:48:50

标签: r date date-conversion

我有一些数据,例如:

Date        CAC Index
2014-10-10  4073,71
2014-10-17  4033,18
2014-10-24  4128,9

但是当我用XLConnect库把它放到R中时,我得到以下结果:

wb<-loadWorkbook(file.choose())

lp<-getSheets(wb)
data=lapply(seq_along(lp),function(i) readWorksheet(wb,sheet=lp[i],startRow=1))[[1]]
data[,1]=as.character(data[,1])

tail(data,3)[,c(1,4)]
                   Date CAC.Index
719 2014-10-09 22:00:00   4073.71
720 2014-10-16 22:00:00   4033.18
721 2014-10-23 22:00:00   4128.90

为什么我没有相同的约会? 例如: 我没有得到2014-10-24,相反,我得到2014-10-23 22:00:00

可能是

的问题
ttz<-Sys.getenv('TZ')
Sys.setenv(TZ='GMT')

? 最好的问候

2 个答案:

答案 0 :(得分:0)

看起来它已经将Excel中的日期字符串转换为R中的Date对象。尝试使用str(数据)来查看data.frame中的类型(进入的好习惯)

如果它是Date对象,那么您可以使用format将其设置为您想要的方式。类似的东西:

##assuming data$Date is a Date class object
data$DateFormatted <- format(data$Date, format="%Y-%m-%d")

参见其他示例的格式。

答案 1 :(得分:0)

我认为它来自将数据导入GMT并将其转换为您当地的时区,这似乎是GMT-2,因此2014/10/10 00:00设置为2014/10/09 22:00

也许你可以通过根据OlsonNames()列表指定你的tz来解决这个问题,或者指定你的日期列是Date而不是POSIXct