[R] FW: Help with a third ggplot error

Bill Poling B|||@Po||ng @end|ng |rom ze||@@com
Sat Jun 15 21:41:50 CEST 2019


Yes, thank you I see that now Eric.

What might I provide in addition that would be more useful?

WHP

From: Bill Poling
Sent: Saturday, June 15, 2019 3:39 PM
To: Eric Berger <ericjberger using gmail.com>
Cc: r-help (r-help using r-project.org) <r-help using r-project.org>; Bill Poling (Bill.Poling using zelis.com) <Bill.Poling using zelis.com>
Subject: RE: [R] Help with a third ggplot error

Yes, thank you I see that now Eric.

What might I provide in addition that would be more useful?

WHP

William H. Poling, Ph.D., MPH | Manager, Data Science
Data Intelligence & Analytics
Zelis Healthcare


From: Eric Berger <mailto:ericjberger using gmail.com>
Sent: Saturday, June 15, 2019 3:34 PM
To: Bill Poling <mailto:Bill.Poling using zelis.com>
Cc: r-help (mailto:r-help using r-project.org) <mailto:r-help using r-project.org>
Subject: Re: [R] Help with a third ggplot error

reprex = reproducible example

On Sat, Jun 15, 2019 at 10:20 PM Bill Poling <mailto:Bill.Poling using zelis.com> wrote:
Hello Eric.

I am unfamiliar with the term reprex, however, I am googling it now.

In the meantime, here is the source DF sample and the train test code I sure hope it helps.

head(dftmp,n=7)
Date2 NetEditRev  index.num year half quarter month.lbl day  wday.lbl holiday
1  2017-01-01    -923.40 1483228800 2017    1       1   January   1    Sunday       0
2  2017-01-02   19222.09 1483315200 2017    1       1   January   2    Monday       1
3  2017-01-03   -8396.82 1483401600 2017    1       1   January   3   Tuesday       0
4  2017-01-04   37696.58 1483488000 2017    1       1   January   4 Wednesday       0
5  2017-01-05   46075.34 1483574400 2017    1       1   January   5  Thursday       0
6  2017-01-06   38329.35 1483660800 2017    1       1   January   6    Friday       0
7  2017-01-07    3110.51 1483747200 2017    1       1   January   7  Saturday       0

#Train/Test split----
#Predict next 92 days

train_test_split_date <- "2019-03-12"
#arbitrary, looking for split to be 3 months from the end of current time period. etc depends on our date period

train_tbl <- dftmp %>%
  filter(Date2 < ymd(train_test_split_date))

test_tbl <- dftmp %>%
  filter(Date2 >= ymd(train_test_split_date))

From: Eric Berger <mailto:ericjberger using gmail.com>
Sent: Saturday, June 15, 2019 2:54 PM
To: Bill Poling <mailto:Bill.Poling using zelis.com>
Cc: r-help (mailto:r-help using r-project.org) <mailto:r-help using r-project.org>
Subject: Re: [R] Help with a third ggplot error

Is this supposed to be a reprex? I don't see where train_tbl is defined.

On Fri, Jun 14, 2019 at 10:30 PM Bill Poling <mailto:mailto:Bill.Poling using zelis.com> wrote:
#RStudio Version 1.2.1335
sessionInfo()
#R version 3.5.3 (2019-03-11)
#Platform: x86_64-w64-mingw32/x64 (64-bit)
#Running under: Windows >= 8 x64 (build 9200)

Hello I am fitting an Arima model and all appears to go well until I get to the ggplot, (again, lots of laughs).
Deja Vu all over again! (God I hope it's not a typo!)

The error at the point of the plot is:
# Don't know how to automatically pick scale for object of type function. Defaulting to continuous.
# Error: All columns in a tibble must be 1d or 2d objects:
# * Column `x` is function

I hope someone recognizes my problem.

Thank you for any assistance.

#Here is the code and particulars of the data being plotted

#Fit the arima model

fit_arima2 <- train_tbl %>%
  tk_ts(select = NetEditRev, frequency = 364) %>%
  Arima(order = c(1,0,2),
        seasonal=c(0,1,0),
        include.drift = TRUE)

#Forecast with Sweep Functions----

fcast_arima_tbl <- forecast(fit_arima2, h = nrow(test_tbl)) %>%
  sw_sweep(timetk_idx = TRUE, rename_index = "date")

#Save the DF

fs::dir_create("00_model")

fcast_arima_tbl %>% write_rds("00_model/fcast_arima_tbl.rds")

fcast_arima_tbl1 <- read_rds("00_model/fcast_arima_tbl.rds")

head(fcast_arima_tbl1)

# A tibble: 6 x 7
  date       key    NetEditRev lo.80 lo.95 hi.80 hi.95
  <date>     <chr>       <dbl> <dbl> <dbl> <dbl> <dbl>
1 2017-01-01 actual      -923.    NA    NA    NA    NA
2 2017-01-02 actual     19222.    NA    NA    NA    NA
3 2017-01-03 actual     -8397.    NA    NA    NA    NA
4 2017-01-04 actual     37697.    NA    NA    NA    NA
5 2017-01-05 actual     46075.    NA    NA    NA    NA
6 2017-01-06 actual     38329.    NA    NA    NA    NA

str(fcast_arima_tbl1)
Classes 'tbl_df', 'tbl' and 'data.frame':892 obs. of  7 variables:
 $ date      : Date, format: "2017-01-01" "2017-01-02" "2017-01-03" "2017-01-04" ...
 $ key       : chr  "actual" "actual" "actual" "actual" ...
 $ NetEditRev: num  -923 19222 -8397 37697 46075 ...
 $ lo.80     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ lo.95     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ hi.80     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ hi.95     : num  NA NA NA NA NA NA NA NA NA NA ...

#Plot the model

g4 <- fcast_arima_tbl1 %>%
  ggplot(aes(date, NetEditRev, color = key)) +
  geom_point(data = test_tbl %>% mutate(key = "actual")) +
  geom_point(alpha = 0.5) +
  theme_tq() +
  scale_color_tq() +
  labs(title = "ARIMA(1,0,2)(0,1,0 with Drift For Net Edit Revenue")

g4
# Don't know how to automatically pick scale for object of type function. Defaulting to continuous.
# Error: All columns in a tibble must be 1d or 2d objects:
# * Column `x` is function

ggplotly(g4) %>%
  layout(xaxis = list(rangeslider = list(type = "date")))
# Don't know how to automatically pick scale for object of type function. Defaulting to continuous.
# Error: All columns in a tibble must be 1d or 2d objects:
# * Column `x` is function


#Alternative changes that I have tried based on google searches, but have their own errors.

# g4 <- fcast_arima_tbl1 %>%
#   ggplot(aes(date, NetEditRev, color = key)) +
#   geom_point(data = test_tbl %>% filter(key = "actual")) + #Try using filter
#   geom_point(alpha = 0.5) +
#   theme_tq() +
#   scale_color_tq() +
#   labs(title = "ARIMA(1,0,2)(0,1,0 with Drift For Net Edit Revenue")
# #Error: `key` (`key = "actual"`) must not be named, do you need `==`?
#
# g4 <- fcast_arima_tbl1 %>%
#   ggplot(aes(date, NetEditRev, color = key)) +
#   geom_point(data = test_tbl %>% filter(key == "actual")) + #Try using filter with ==
#   geom_point(alpha = 0.5) +
#   theme_tq() +
#   scale_color_tq() +
#   labs(title = "ARIMA(1,0,2)(0,1,0 with Drift For Net Edit Revenue")
# #Error: object 'key' not found
#
# g4 <- fcast_arima_tbl1 %>%
#   ggplot(aes(date, NetEditRev, color = key)) +
#   geom_point(data = test_tbl) +
#   filter(fcast_arima_tbl1$key = "actual") + #Try filter with fcast_arima_tbl1$key and repositioned with +
#   geom_point(alpha = 0.5) +
#   theme_tq() +
#   scale_color_tq() +
#   labs(title = "ARIMA(1,0,2)(0,1,0 with Drift For Net Edit Revenue")
# #Error: Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?


Confidentiality Notice This message is sent from Zelis. ...{{dropped:13}}

______________________________________________
mailto:mailto:R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Confidentiality Notice This message is sent from Zelis. This transmission may contain information which is privileged and confidential and is intended for the personal and confidential use of the named recipient only. Such information may be protected by applicable State and Federal laws from this disclosure or unauthorized use. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any disclosure, review, discussion, copying, or taking any action in reliance on the contents of this transmission is strictly prohibited. If you have received this transmission in error, please contact the sender immediately. Zelis, 2018.

Confidentiality Notice This message is sent from Zelis. This transmission may contain information which is privileged and confidential and is intended for the personal and confidential use of the named recipient only. Such information may be protected by applicable State and Federal laws from this disclosure or unauthorized use. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any disclosure, review, discussion, copying, or taking any action in reliance on the contents of this transmission is strictly prohibited. If you have received this transmission in error, please contact the sender immediately. Zelis, 2018.


More information about the R-help mailing list