我有一些数据,例如:
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')
? 最好的问候
答案 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
。