Как вводить дни в график временных рядов, используя R? - PullRequest
1 голос
/ 15 апреля 2020

Я не могу правильно ввести дни во временном ряду. Я не знаю, что не так.

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.....................

В этом случае аргументы 'Start' и 'End' неверны, но вывод верен.

Также, когда я строю график, ось X выглядит следующим образом: 2020.00 2020.04 2020.08 2020.12

Как я могу это исправить? Я хотел бы вывести временной ряд с количеством дней или регулярных дат.

1 Ответ

0 голосов
/ 04 мая 2020

Если вы несколько гибки в отношении класса объекта, вы можете рассмотреть возможность использования пакета 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)
...