简体   繁体   中英

Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector

Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector

occurs when trying to run my script in r.

I have tried to find the solution for it, but it seems to be pretty specific, and little help for me.

My dataset contains 3936 obs of 7 variables.

environment, skill, volume, datetime, year, month, day

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   3696 obs. of  7 variables:
 $ environment: chr  "b2b" "b2b" "b2b" "b2b" ...
 $ skill      : chr  "BO Bedrift" "BO Bedrift" "BO Bedrift" "BO Bedrift" ...
 $ year       : num  2017 2017 2017 2017 2017 ...
 $ month      : num  1 1 1 1 1 2 2 2 2 3 ...
 $ day        : num  2 9 16 23 30 6 13 20 27 6 ...
 $ volume     : num  360 312 305 222 113 ...
 $ datetime   : Date, format: "2017-01-02" "2017-01-09" "2017-01-16" "2017-01-23" ...

but when trying to run

volume_ets <- volume_tsbl %>% ETS(volume)

this message shows in the console

Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector

I tried somewhat of a shortcut, but nothing helped,

volume_tsbl$volume <- as.numeric(as.character(volume_tsbl$volume))

Tried to run

volume_ets <- volume_tsbl %>% ETS(volume)

this message shows in the console

Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector

I tried somewhat of a shortcut, but nothing helped,

volume_tsbl$volume <- as.numeric(as.character(volume_tsbl$volume))

volume_ets <- volume_tsbl %>% ETS(volume)

my tsibble looks like this;

volume_tsbl <- volume %>¤ as_tsibble(key = c(skill, environment), index = c(datetime), regular = TRUE )

Expected the code to run, but it does not.

This is the result of an interface change made in late 2018. The change was to make model functions (such as ETS() ) create model definitions, rather than fitted models. Essentially, ETS() no longer accepts data as an input, and the specification for the ETS model would become ETS(volume) .

The equivalent code in the current version of fable is:

volume_ets <- volume_tsbl %>% model(ETS(volume))

Where the model() function is used to train one or more model definitions ( ETS(volume) in this case) to a given dataset.

You can refer to the pkgdown site for fable to see more details: http://fable.tidyverts.org/ In particular, the ETS() function is documented here: http://fable.tidyverts.org/reference/ETS.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM