Прогноз ggseasonplot в R не показывает прогноз, если в последнюю единицу времени было только 1 наблюдение - PullRequest
1 голос
/ 02 апреля 2019

При использовании ggseasonplot from для пакета прогноза он работает по желанию, когда в единицу времени имеется 2 или более наблюдений (то есть 2+ квартала в году).

Например

austres  %>% ggseasonplot()

урожай

1993 shown in legend and plotted

Однако, если мы уберем Q2-1993 (поэтому наше последнее наблюдение - Q1-1993), мы увидим 1993 год на легенде, но не на сюжете. Должно ли это быть как точка? Если да, то как бы это вставить?

austres %>% window(end=c(1993,1)) %>% ggseasonplot()

1993 shown in legend but NOT plotted

1 Ответ

1 голос
/ 02 апреля 2019

Я нашел способ сделать это - но я не знаю, если это Самый простой способ сделать это!

Я изменил код в ggseasonplot на github

tspx <- tsp(austres %>% window(end=c(1993,1)))
s <- round(frequency(x))
x <- ts(austres, start = tspx[1], frequency = s)

data <- data.frame(
  y = as.numeric(x),
  year = trunc(time(x)),
  cycle = as.numeric(cycle(x)),
  time = as.numeric((cycle(x) - 1) / s)
)

austres %>% window(end=c(1993,1)) %>% ggseasonplot()+
  layer(
    data[nrow(data)-1,] ,
    geom = "point",
    stat = "identity",
    position = "identity", aes(x= time,y=y,col="1993")
  )     

В результате получается этот сюжет, чего я и хотел

Image showing successful Q1 point

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...