Tidymodel 的 Recipes 是否提供操作逻辑变量的函数?

Does Tidymodel's Recipes provide functions to manipulate logical variables?

我正在查看 Recipes 的文档,我找到了 step_string2factorstep_num2factor,但我找不到等效的 step_logical2factor。我正在构建一个分类模型,需要将我的 T/F 结果转换为一个因子。是否必须在预处理步骤中完成?如果是这样,为什么(食谱的目的不是提供预处理功能?)?

您可以通过将 step_mutate()as.numeric 结合使用来使 step_num2factor() 工作。

library(recipes)
library(dplyr)

mtcars0 <- mtcars %>%
  mutate(across(c(vs, am), as.logical))

recipe(~., data = mtcars0) %>%
  step_mutate(across(c(vs, am), as.numeric)) %>%
  step_num2factor(vs, am, transform = function(x) x + 1, levels = c("FALSE", "TRUE")) %>%
  prep() %>%
  bake(new_data = NULL)
#> # A tibble: 32 × 11
#>      mpg   cyl  disp    hp  drat    wt  qsec vs    am     gear  carb
#>    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <fct> <fct> <dbl> <dbl>
#>  1  21       6  160    110  3.9   2.62  16.5 FALSE TRUE      4     4
#>  2  21       6  160    110  3.9   2.88  17.0 FALSE TRUE      4     4
#>  3  22.8     4  108     93  3.85  2.32  18.6 TRUE  TRUE      4     1
#>  4  21.4     6  258    110  3.08  3.22  19.4 TRUE  FALSE     3     1
#>  5  18.7     8  360    175  3.15  3.44  17.0 FALSE FALSE     3     2
#>  6  18.1     6  225    105  2.76  3.46  20.2 TRUE  FALSE     3     1
#>  7  14.3     8  360    245  3.21  3.57  15.8 FALSE FALSE     3     4
#>  8  24.4     4  147.    62  3.69  3.19  20   TRUE  FALSE     4     2
#>  9  22.8     4  141.    95  3.92  3.15  22.9 TRUE  FALSE     4     2
#> 10  19.2     6  168.   123  3.92  3.44  18.3 TRUE  FALSE     4     4
#> # … with 22 more rows

您建议的功能之前已经 requested 但在回答这个问题时尚未实现。