【发布时间】:2018-04-11 09:18:27
【问题描述】:
我的data frame 被称为“mydata”,它只有 2 列,如下所示:
Date Sales
2016-07-01 51256
2016-08-01 75892
2016-09-01 67115
...
运行以下代码 str(mydata) 会得到以下结果:
'data.frame': 28 obs. of 2 variables:
$ DATE : chr "2016-07-01" "2016-08-01" "2016-09-01" ...
$ PKGREV: num 51256 75892 67115 ...
我在 R 中加载了以下库:
library(ggplot2)
library(dplyr)
library(scales)
library(ggthemes)
library(magrittr)
library(h2o)
library(timetk)
library(tidyquant)
我知道在进行xts 转换之前,我需要先将“日期”列转换为日期。
从下面的 2 个 Stackoverflow 问题(见下面的链接),我做了这 2 次尝试:
尝试 1:
mydata2 <- xts(mydata[,-1], order.by=mydata[,1])
Error message:
Error in xts(mydata[, -1], order.by = mydata[, 1]) :
order.by requires an appropriate time-based object
尝试 2:
mydata2 <- xts(mydata[, -1], order.by=as.POSIXct(mydata$Date))
Error message:
Error in as.POSIXct.default(mydata$Date) :
do not know how to convert 'mydata$Date' to class “POSIXct”
咨询的 StackOverflow 问题:
Converting a data frame to xts
Converting data.frame to xts order.by requires an appropriate time-based object
我在这里错过了什么?
【问题讨论】:
-
你试过先运行
mydata$Date <- as.Date(mydata$Date)吗? -
当我运行您提到的代码时,我收到以下错误消息:“as.Date.default(mydata$Date) 中的错误:不知道如何将 'mydata$Date' 转换为类“日期”
标签: r date dataframe time-series xts