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


R recipes step_relevel 將因子重新調整至所需水平


step_relevel() 創建配方步驟的規範,該步驟將重新排序所提供的因子列,以便 ref_level 指定的級別位於第一位。這對於以第一級為參考的 contr.treatment() 對比很有用。

用法

step_relevel(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  ref_level,
  objects = NULL,
  skip = FALSE,
  id = rand_id("relevel")
)

參數

recipe

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

...

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

role

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

trained

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

ref_level

將用於重新調整因子列的單個字符值(如果存在級別)。

objects

包含由 prep() 確定的因子級別信息的對象列表。

skip

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

id

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

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

細節

選定的變量將重新調整到某個級別(由 ref_level 給出)。將 ref_level 放在第一個位置。

請注意,如果原始列是字符,則通過此步驟它們將轉換為因子。

箱重

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

例子

data(Sacramento, package = "modeldata")
rec <- recipe(~ city + zip, data = Sacramento) %>%
  step_unknown(city, new_level = "UNKNOWN") %>%
  step_relevel(city, ref_level = "UNKNOWN") %>%
  prep()

data <- bake(rec, Sacramento)
levels(data$city)
#>  [1] "UNKNOWN"         "ANTELOPE"        "AUBURN"         
#>  [4] "CAMERON_PARK"    "CARMICHAEL"      "CITRUS_HEIGHTS" 
#>  [7] "COOL"            "DIAMOND_SPRINGS" "EL_DORADO"      
#> [10] "EL_DORADO_HILLS" "ELK_GROVE"       "ELVERTA"        
#> [13] "FAIR_OAKS"       "FOLSOM"          "FORESTHILL"     
#> [16] "GALT"            "GARDEN_VALLEY"   "GOLD_RIVER"     
#> [19] "GRANITE_BAY"     "GREENWOOD"       "LINCOLN"        
#> [22] "LOOMIS"          "MATHER"          "MEADOW_VISTA"   
#> [25] "NORTH_HIGHLANDS" "ORANGEVALE"      "PENRYN"         
#> [28] "PLACERVILLE"     "POLLOCK_PINES"   "RANCHO_CORDOVA" 
#> [31] "RANCHO_MURIETA"  "RIO_LINDA"       "ROCKLIN"        
#> [34] "ROSEVILLE"       "SACRAMENTO"      "WALNUT_GROVE"   
#> [37] "WEST_SACRAMENTO" "WILTON"         
源代碼:R/relevel.R

相關用法


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