8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

将时间序列值转换回日期 R

Evariste Galois 1月前

24 0

你好,我正在创建一个 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
帖子版权声明 1、本帖标题:将时间序列值转换回日期 R
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Evariste Galois在本站《datetime》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您使用的频率可能不适合您的数据。试试这个

    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"
    
返回
作者最近主题: