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


R recipes step_rm 通用可變過濾器


step_rm() 創建將刪除選定變量的配方步驟的規範。

用法

step_rm(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  removals = NULL,
  skip = FALSE,
  id = rand_id("rm")
)

參數

recipe

一個菜譜對象。該步驟將添加到此配方的操作序列中。

...

一個或多個選擇器函數用於為此步驟選擇變量。有關更多詳細信息,請參閱selections()

role

由於沒有創建新變量,因此此步驟未使用。

trained

指示預處理數量是否已估計的邏輯。

removals

包含應刪除的列名稱的字符串。這些值直到調用 prep() 後才確定。

skip

一個合乎邏輯的。當bake() 烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在 prep() 運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = TRUE時應小心,因為它可能會影響後續操作的計算。

id

該步驟特有的字符串,用於標識它。

recipe 的更新版本,將新步驟添加到任何現有操作的序列中。

細節

此步驟可能會從數據集中刪除列。如果通過名稱專門引用缺失的列,這可能會導致配方中的後續步驟出現問題。為了避免這種情況,請參閱 selections 的“保存配方和過濾列的提示”部分中的建議。

整理

當您tidy()此步驟時,將返回帶有列terms(將被刪除的列)的tibble。

箱重

底層操作不允許使用案例權重。

也可以看看

其他變量過濾步驟:step_corr()step_filter_missing()step_lincomb()step_nzv()step_select()step_zv()

例子

data(biomass, package = "modeldata")

biomass_tr <- biomass[biomass$dataset == "Training", ]
biomass_te <- biomass[biomass$dataset == "Testing", ]

rec <- recipe(
  HHV ~ carbon + hydrogen + oxygen + nitrogen + sulfur,
  data = biomass_tr
)

library(dplyr)
smaller_set <- rec %>%
  step_rm(contains("gen"))

smaller_set <- prep(smaller_set, training = biomass_tr)

filtered_te <- bake(smaller_set, biomass_te)
filtered_te
#> # A tibble: 80 × 3
#>    carbon sulfur   HHV
#>     <dbl>  <dbl> <dbl>
#>  1   46.4   0.22  18.3
#>  2   43.2   0.34  17.6
#>  3   42.7   0.3   17.2
#>  4   46.4   0.5   18.9
#>  5   48.8   0     20.5
#>  6   44.3   0.2   18.5
#>  7   38.9   0.51  15.1
#>  8   42.1   0.2   16.2
#>  9   29.2   4.9   11.1
#> 10   27.8   1.05  10.8
#> # ℹ 70 more rows

tidy(smaller_set, number = 1)
#> # A tibble: 3 × 2
#>   terms    id      
#>   <chr>    <chr>   
#> 1 hydrogen rm_SZcjw
#> 2 oxygen   rm_SZcjw
#> 3 nitrogen rm_SZcjw
源代碼:R/rm.R

相關用法


注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 General Variable Filter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。