你好,我正在创建一个 R 时间序列,但建模后,我需要将列转换回我可以实际解释的日期 (yyyy-mm-dd)。bus_date <- as.Date(c('2017-04-01', '2017-04-08', '201...
你好,我正在创建一个 R 时间序列,但建模后,我需要将列转换回我可以实际解释的日期 (yyyy-mm-dd)。
bus_date <- as.Date(c('2017-04-01', '2017-04-08', '2017-04-15', '2017-04-22', '2017-04-29'))
sales <- c(100, 110, 110, 130, 120)
sales_data <- data.frame(bus_date, sales)
sales_data.ts <- ts(sales_data$sales,
start = min(sales_data$bus_date),
freq = (365.25/7))
sales_data.ts
我尝试使用 lubridate 中的某些函数(当我有每日数据(如 2015.123、2015.456 等)时,这些函数有效)但不起作用......我这里遗漏了什么?我如何才能找回日期?
setDT(data_ARIMA, keep.rownames = TRUE)[]
data_ARIMA$dates_intermediate <- date_decimal(as.numeric(data_ARIMA$rn))
data_ARIMA$dates <- as.Date(date_decimal(as.numeric(data_ARIMA$rn)))
data_ARIMA
您使用的频率可能不适合您的数据。试试这个
sales_data.ts <- ts(sales_data$sales,
start = min(sales_data$bus_date),
frequency = 1/7) #OR deltat = 7
sales_data.ts
#Time Series:
#Start = 17257
#End = 17285
#Frequency = 0.142857142857143
#[1] 100 110 110 130 120
as.Date(as.numeric(time(sales_data.ts)))
#[1] "2017-04-01" "2017-04-08" "2017-04-15" "2017-04-22" "2017-04-29"