【发布时间】:2015-08-10 10:23:52
【问题描述】:
Excel 文件中的数据如下所示
TIMESTAMP TYPE BID BIDSIZ
2015-01-04 09:00:00 BID 365 10
2015-04-01 09:00:05 BID 367.8 55
2015-04-01 09:00:33 BID 365 10
2015-04-01 09:00:36 BID 367.8 55
当我运行以下代码时:
require(xlsx)
f1<-read.xlsx2("Canara_Data.xlsx", sheetName = "BID")
f1$TIMESTAMP<-as.POSIXct(f1$TIMESTAMP, format="%Y-%M-%D %H:%M:S")
查看它会导致 TIMESTAMP 看起来像
View(`f1`)
TIMESTAMP X. BID BIDSIZ
42008.375 BID 365 10
42095.37505787037 BID 367.8 55
42095.37538194445 BID 365 10
42095.37541666667 BID 367.8 55
str(f1)
# 'data.frame': 18214 obs. of 4 variables:
# $ TIMESTAMP: POSIXct, format: NA NA ...
# $ TYPE : Factor w/ 1 level "BID": 1 1 1 1 1 1 1 1 1 1 ...
# $ BID : Factor w/ 344 levels "365","365.1",..: 1 55 1 55 1 55 1 55 59 1 ...
# $ BIDSIZ : Factor w/ 1259 levels "1","10","100",..: 2 854 2 854 2 854 2 854 4 2
请帮助将 TIMESTAMP 读取为格式为“%Y-%M-%D %H:%M:S”的日期,并将 BID 和 BIDSIZ 读取为字符。
【问题讨论】:
-
试试 readxl 包
-
@hadley 你投反对票了吗? (我怀疑你这样做了,因为否决票的时间戳和你的评论大约是同时的)如果是这样,你能解释一下原因吗?答案有效。
-
@hadley..非常感谢您提供有关 readxl 包的信息。这太棒了。这是最近的一个包。所以,我没有太多关于这个包的信息。
标签: r time-series xlsx posixct