2017-04-24 61 views
0

嗨我正在創建一個R時間序列,但是在建模之後,我需要將列轉換回日期,我可以實際解釋(yyyy-mm-dd)。將時間序列值轉換回日期R

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 

回答

1

您使用的頻率可能並不適合您的數據。試試這個

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" 
相關問題