prophet(df,0.8,growth='linear') 在 as.POSIXct.numeric(ds, format = "%Y-%m-%d", tz = "GMT") 中给出错误必须提供原点

问题描述 投票:0回答:1

as.POSIXct.numeric(ds, format = "%Y-%m-%d", tz = "GMT") 错误:必须提供 'origin'

这是我在传递数组时遇到的错误 arr <- c('2022-09-27','1','2022-09-28','2','2022-09-29','3','2022-09-30','2') to function in R that calls prophet library method.

ptmForecastTest <- function(nrows, ncols, prophetUncertaintyInterval, values, periods, freq){
value_mat <- matrix(values, nrow=4, ncol=2, byrow=TRUE)
df <- as.data.frame(value_mat)
colnames(df) <- c('ds', 'y')
model <- prophet(df, 0.8, growth='linear')
return(df)
}

代码在模型<- prophet(df, 0.8, growth='linear') ->这一行中断。它无法接受数据框。

values <- c("2022-09-06 23:45:50",1,"2022-09-07 23:45:50",2,"2022-09-08 23:45:50",3,"2022-09-09   23:45:60",2) 
val_mat <- matrix(values,4,2,byrow=TRUE) 
df <- as.data.frame(val_mat) 
colnames(df) <- c('ds','y') 
as.POSIXct(df['ds'], format = "%Y-%m-%d %H:%M:%S")

我试过了,但出现错误“as.POSIXct.default(df["ds"], format = "%Y-%m-%d %H:%M:%S") 错误:不知道怎么办将 'df["ds"]' 转换为类“POSIXct”

到目前为止,我尝试了 lubridate 包方法,但没有任何效果,我无法理解如何解决这个问题。自 2 天以来,我一直在努力。任何帮助将不胜感激。

r lubridate posixct facebook-prophet
1个回答
0
投票

试试

df$ds <- as.POSIXct(df$ds)
m <- prophet(df, growth = 'linear', changepoint.range = 0.8)
future <- make_future_dataframe(m, periods = 365)
© www.soinside.com 2019 - 2024. All rights reserved.