当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R recipes step_rename 使用 dplyr 按名称重命名变量


step_rename() 创建配方步骤的规范,该步骤将使用 dplyr::rename() 添加变量。

用法

step_rename(
  recipe,
  ...,
  role = "predictor",
  trained = FALSE,
  inputs = NULL,
  skip = FALSE,
  id = rand_id("rename")
)

参数

recipe

一个菜谱对象。该步骤将添加到此配方的操作序列中。

...

一个或多个未加引号的表达式,以逗号分隔。看dplyr::rename()公约在哪里new_name = old_name.

role

对于此步骤创建的模型项,应为其分配什么分析角色?默认情况下,此步骤根据原始变量创建的新列将用作模型中的预测变量。

trained

指示预处理数量是否已估计的逻辑。

inputs

... 的引用。

skip

一个合乎逻辑的。当bake() 烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在 prep() 运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用skip = TRUE时应小心,因为它可能会影响后续操作的计算。

id

该步骤特有的字符串,用于标识它。

recipe 的更新版本,将新步骤添加到任何现有操作的序列中。

细节

当定义新变量的表达式中引用用户全局环境中的对象时,最好使用准引用(例如 !! )将该对象的值嵌入到表达式中(以便在会议)。

整理

当您 tidy() 此步骤时,将返回包含 values 列的 tibble,其中包含字符串形式的 rename 表达式(并且不可重新解析)。

箱重

底层操作不允许使用案例权重。

也可以看看

例子

recipe(~., data = iris) %>%
  step_rename(Sepal_Width = Sepal.Width) %>%
  prep() %>%
  bake(new_data = NULL) %>%
  slice(1:5)
#> # A tibble: 5 × 5
#>   Sepal.Length Sepal_Width Petal.Length Petal.Width Species
#>          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
#> 1          5.1         3.5          1.4         0.2 setosa 
#> 2          4.9         3            1.4         0.2 setosa 
#> 3          4.7         3.2          1.3         0.2 setosa 
#> 4          4.6         3.1          1.5         0.2 setosa 
#> 5          5           3.6          1.4         0.2 setosa 

vars <- c(var1 = "cyl", var2 = "am")
car_rec <-
  recipe(~., data = mtcars) %>%
  step_rename(!!vars)

car_rec %>%
  prep() %>%
  bake(new_data = NULL)
#> # A tibble: 32 × 11
#>      mpg `<chr>...var1`  disp    hp  drat    wt  qsec    vs `<chr>...var2`
#>    <dbl>          <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>          <dbl>
#>  1  21                6  160    110  3.9   2.62  16.5     0              1
#>  2  21                6  160    110  3.9   2.88  17.0     0              1
#>  3  22.8              4  108     93  3.85  2.32  18.6     1              1
#>  4  21.4              6  258    110  3.08  3.22  19.4     1              0
#>  5  18.7              8  360    175  3.15  3.44  17.0     0              0
#>  6  18.1              6  225    105  2.76  3.46  20.2     1              0
#>  7  14.3              8  360    245  3.21  3.57  15.8     0              0
#>  8  24.4              4  147.    62  3.69  3.19  20       1              0
#>  9  22.8              4  141.    95  3.92  3.15  22.9     1              0
#> 10  19.2              6  168.   123  3.92  3.44  18.3     1              0
#> # ℹ 22 more rows
#> # ℹ 2 more variables: gear <dbl>, carb <dbl>

car_rec %>%
  tidy(number = 1)
#> # A tibble: 1 × 3
#>   terms value                              id          
#>   <chr> <chr>                              <chr>       
#> 1 <chr> "c(var1 = \"cyl\", var2 = \"am\")" rename_sfgIN
源代码:R/rename.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Rename variables by name using dplyr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。