R 按日期排序时出现时间序列对象错误

R 按日期排序时出现时间序列对象错误,r,datetime,time-series,xts,R,Datetime,Time Series,Xts,我发现对这个问题的回答是这样的,但我仍然无法让我的具体案例发挥作用。我正在尝试创建一个时间序列对象,以便在时间序列模型中使用。我已将数据帧中的日期值转换为“日期”列(%Y-%m-%d)类型,但我一直收到错误“xts中的错误(x1_列[,-1],order.by=x1_列[,1]):order.by需要适当的基于时间的对象”。我还尝试过使用as.date或as.POSIXct()转换日期列的其他版本,它给了我以下错误“as.date.default(x…)中的错误”:不知道如何将“x”转换为类“d

我发现对这个问题的回答是这样的,但我仍然无法让我的具体案例发挥作用。我正在尝试创建一个时间序列对象,以便在时间序列模型中使用。我已将数据帧中的日期值转换为“日期”列(%Y-%m-%d)类型,但我一直收到错误“xts中的错误(x1_列[,-1],order.by=x1_列[,1]):order.by需要适当的基于时间的对象”。我还尝试过使用as.date或as.POSIXct()转换日期列的其他版本,它给了我以下错误“as.date.default(x…)中的错误”:不知道如何将“x”转换为类“date”

#日期从CHR转换为日期

df$rev_month您已经创建了日期类的新列
rev_month
start_date
仍然是character/factor类型。覆盖现有列而不是创建新列

df$start_date <- as.Date(df$start_date, "%Y-%m-%d")

谢谢你的回复。很抱歉,我确实覆盖了原始datframe中的日期列,并且可以确认它们以前是日期列类型。x1_序列,它只是我的数据帧的单变量时间序列子集,只有收入和日期。这让我很痛苦,所以我的回答对你有用,对吧?您的数据框中不应该有
rev_month
列。不,不幸的是,它不起作用。仍然给我同样的错误,好像它不认识正确的日期format@bbal20请提供您的数据示例。用dput(head(df))更新您的帖子。
。我刚刚更新了原始帖子,添加了一个示例数据框。这段代码是一个循环的一部分,因此最终每个日期对于特定的合作伙伴id都是唯一的,但我只是尝试将其分解以修复我的错误。
# updated to include test dataframe
test <- data.frame("c_id" = c("none","none","none","none","none",
"none","none","none","none","none","none","none","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-100","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101","c-101", "none","none","none","none","none","none","none","none","none","none","none","none","none","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-110","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111","c-111"), "partner_id" = c("1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1A9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9","1B9"), "rev_month" = as.Date(c("2015-12-01","2016-01-01","2016-02-01","2016-03-01","2016-04-01","2016-05-01","2016-06-01","2016-07-01","2016-08-01", "2016-09-01","2016-10-01","2016-11-01","2016-12-01","2017-01-01","2017-02-01","2017-03-01","2017-04-01","2017-05-01","2017-06-01","2017-07-01","2017-08-01","2017-09-01","2017-10-01","2017-11-01","2017-12-01","2018-01-01","2018-02-01","2018-03-01","2018-04-01","2018-05-01","2018-06-01","2018-07-01","2018-08-01","2018-09-01","2018-10-01","2018-11-01","2018-12-01", "2017-01-01","2017-01-01","2017-02-01","2017-03-01","2017-04-01","2017-05-01","2017-06-01","2017-07-01","2017-08-01", "2017-09-01","2017-10-01","2017-11-01","2017-12-01","2018-01-01","2018-02-01","2018-03-01","2018-04-01","2018-05-01","2018-06-01","2018-07-01","2018-08-01","2018-09-01","2018-10-01","2018-11-01","2018-12-01","2019-01-01","2019-02-01","2019-03-01","2019-04-01","2019-05-01","2019-06-01","2019-07-01","2019-08-01","2019-09-01","2019-10-01","2019-11-01","2019-12-01", "2020-01-01", "2020-02-01", "2020-03-01")), "rev" = c(101.25, 102.25, 103.50, 103.75, 104.15, 104.25, 104.3, 105.00, 105.20, 105.60, 106.00, 106.10, 106.50, 101.50, 100.30, 107.50, 108.30, 108.45, 109.10, 110.10, 112.15, 112.45, 114.65, 115.00, 116.00, 116.50, 117.25, 117.85, 119.25, 119.95, 120.20, 121.50, 122.30, 122.40, 123.25, 123.75, 124.00, 101.25, 102.25, 103.50, 103.75, 104.15, 104.25, 104.3, 105.00, 105.20, 105.60, 106.00, 106.10, 106.50, 101.50, 100.30, 107.50, 108.30, 108.45, 109.10, 110.10, 112.15, 112.45, 114.65, 115.00, 116.00, 116.50, 117.25, 117.85, 119.25, 119.95, 120.20, 121.50, 122.30, 122.40, 123.25, 123.75, 124.00, 124.10, 125.35, 125.45), stingsAsFactors=FALSE)
df$start_date <- as.Date(df$start_date, "%Y-%m-%d")
x1_train_ts <- xts::xts(df[,-1], order.by= df$start_date)