首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用purrr::when()对带有条件的工作流add_model()进行tidymodels建模,对象类更改为函数序列

使用purrr::when()对带有条件的工作流add_model()进行tidymodels建模,对象类更改为函数序列
EN

Stack Overflow用户
提问于 2022-09-23 08:20:54
回答 1查看 27关注 0票数 1

我试图在R6类中创建一个以线性回归作为默认模型的工作流。对象类更改为函数序列。因此,无法执行后续步骤。

示例:

代码语言:javascript
运行
复制
> model <- NULL
> wf <- workflow() %>% 
        when(!is.null(model) ~ . %>% add_model(model), 
             is.null(model)  ~ . %>% add_model(
                   linear_reg() %>% 
                     set_mode("regression") %>% 
                     set_engine("lm")
                 ))
> wf
Functional sequence with the following components:

 1. add_model(., linear_reg() %>% set_mode("regression") %>% set_engine("lm"))

Use 'functions' to extract the individual functions.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-23 08:55:02

您需要使用括号计算管道函数(由.表示):

代码语言:javascript
运行
复制
wf <- workflow() %>% 
  when(
    !is.null(model) ~ (.) %>% add_model(model), 
    is.null(model)  ~ (.) %>% 
      add_model(
         linear_reg() %>% 
           set_mode("regression") %>% 
           set_engine("lm")
       )
    )

那么,下面的示例fit应该可以工作:

代码语言:javascript
运行
复制
wf %>% 
  add_formula(Petal.Width ~ Sepal.Length) %>% 
  fit(data = iris)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73824899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档