當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。