【问题标题】:How to input days in time series plot using R?如何使用 R 在时间序列图中输入天数?
【发布时间】:2020-07-28 16:27:47
【问题描述】:

我无法正确输入时间序列中的日期。不知道怎么回事。

days <- seq(from=as.Date("2020-02-26"), to=as.Date("2020-04-13"), by="day")
x1 <- rnorm(length(days),3,0.5)
x2 <- rnorm(length(days),6,1.2)
df <- data.frame(days,x1,x2)

df_ts <- ts(df$x1, start=c(2020,1), end=c(2020,48), frequency=365)
df_ts1

>Time Series:
>Start = c(2020, 2) 
>End = c(2020, 4) 
>Frequency = 365 
>[1] 2.682319 3.039276 2.201990

'Start' 和 'End' 参数是对的,但是输出是错误的[1] 2.682319 3.039276 2.201990 然后我改变了 start 和 end 参数:

df_ts2 <- ts(df$x1, start=c(2020,1), end=c(2020,48), frequency=365)
df_ts2

>Time Series:
>Start = c(2020, 1) 
>End = c(2020, 48) 
>Frequency = 365 
>[1] 2.682319 3.039276 2.201990 3.708056.....................

在这种情况下,“开始”和“结束”参数是错误的,但输出是正确的。

当我绘制它时,X 轴是这样的:2020.00 2020.04 2020.08 2020.12

我该如何解决这个问题?我想输出带有天数或常规日期的时间序列。

【问题讨论】:

    标签: r date plot time-series frequency


    【解决方案1】:

    如果您对对象类比较灵活,您可能需要考虑使用xts 包。

    library(xts)
    
    days <- seq(from=as.Date("2020-02-26"), to=as.Date("2020-04-13"), by="day")
    x1 <- rnorm(length(days),3,0.5)
    x2 <- rnorm(length(days),6,1.2)
    df <- data.frame(days,x1,x2)
    
    df_ts <- xts(df$x1, order.by = days)
    plot(df_ts)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 2020-02-06
      • 2016-09-12
      • 2021-12-21
      • 2011-10-02
      • 2014-03-22
      • 2019-09-18
      • 2021-06-12
      相关资源
      最近更新 更多