match.arg(opt_crit)中的错误:“ arg”必须为NULL或字符向量
尝试在r中运行我的脚本时发生。
我试图找到解决方案,但这似乎很具体,对我几乎没有帮助。
我的数据集包含3936个obs,包含7个变量。
环境,技能,数量,日期时间,年,月,日
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" ...
但是尝试运行
volume_ets <- volume_tsbl %>% ETS(volume)
此消息显示在控制台中
Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector
我尝试了一些捷径,但没有帮助
volume_tsbl$volume <- as.numeric(as.character(volume_tsbl$volume))
试图运行
volume_ets <- volume_tsbl %>% ETS(volume)
此消息显示在控制台中
Error in match.arg(opt_crit) : 'arg' must be NULL or a character vector
我尝试了一些捷径,但没有帮助
volume_tsbl$volume <- as.numeric(as.character(volume_tsbl$volume))
volume_ets <- volume_tsbl %>% ETS(volume)
我的摆姿势看起来像这样;
volume_tsbl <- volume %>¤ as_tsibble(key = c(skill, environment), index = c(datetime), regular = TRUE )
期望代码运行,但不会。
答案 0 :(得分:0)
这是在2018年末进行的接口更改的结果。更改是使模型函数(例如ETS()
)创建模型定义,而不是拟合模型。本质上,ETS()
不再接受数据作为输入,并且ETS模型的规范将变为ETS(volume)
。
当前寓言中的等效代码是:
volume_ets <- volume_tsbl %>% model(ETS(volume))
使用model()
函数将一个或多个模型定义(在这种情况下为ETS(volume)
)训练到给定的数据集。
您可以访问pkgdown网站以获取更多详细信息:http://fable.tidyverts.org/
特别是,此处记录了ETS()
函数:http://fable.tidyverts.org/reference/ETS.html