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


R recipes step_count 使用正則表達式創建模式計數


step_count() 創建配方步驟的規範,該步驟將創建一個對文本中正則表達式模式的實例進行計數的變量。

用法

step_count(
  recipe,
  ...,
  role = "predictor",
  trained = FALSE,
  pattern = ".",
  normalize = FALSE,
  options = list(),
  result = make.names(pattern),
  input = NULL,
  keep_original_cols = TRUE,
  skip = FALSE,
  id = rand_id("count")
)

參數

recipe

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

...

單個選擇器函數,用於選擇將在哪個變量中搜索正則表達式模式。選擇器應解析為單個變量。有關更多詳細信息,請參閱selections()

role

對於此步驟創建的模型項,應為其分配什麽分析角色?默認情況下,此步驟根據原始變量創建的新列將用作模型中的預測變量。

trained

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

pattern

包含要在給定字符向量中匹配的正則表達式(或 fixed = TRUE 的字符串)的字符串。如果可能,由 as.character 強製轉換為字符串。

normalize

邏輯性強;是否應該將整數計數除以字符串中的字符總數?

options

gregexpr() 的選項列表,不應包含 xpattern

result

新變量名稱的單個字符值。它應該是有效的列名稱。

input

正在搜索的變量名稱的單個字符值。在由 prep() 計算之前,這是 NULL

keep_original_cols

將原始變量保留在輸出中的邏輯。默認為 FALSE

skip

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

id

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

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

整理

當您tidy()此步驟時,將返回包含列terms(選定的選擇器或變量)和result(新列名稱)的小標題。

箱重

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

例子

data(covers, package = "modeldata")

rec <- recipe(~description, covers) %>%
  step_count(description, pattern = "(rock|stony)", result = "rocks") %>%
  step_count(description, pattern = "famil", normalize = TRUE)

rec2 <- prep(rec, training = covers)
rec2
#> 
#> ── Recipe ────────────────────────────────────────────────────────────────
#> 
#> ── Inputs 
#> Number of variables by role
#> predictor: 1
#> 
#> ── Training information 
#> Training data contained 40 data points and no incomplete rows.
#> 
#> ── Operations 
#> • Regular expression counts using: description | Trained
#> • Regular expression counts using: description | Trained

count_values <- bake(rec2, new_data = covers)
count_values
#> # A tibble: 40 × 3
#>    description                                                rocks  famil
#>    <fct>                                                      <int>  <dbl>
#>  1 1,cathedral family,rock outcrop complex,extremely stony        2 0.0182
#>  2 2,vanet,ratake families complex,very stony                     1 0.0238
#>  3 3,haploborolis,rock outcrop complex,rubbly                     1 0     
#>  4 4,ratake family,rock outcrop complex,rubbly                    1 0.0233
#>  5 5,vanet family,rock outcrop complex complex,rubbly             1 0.02  
#>  6 6,vanet,wetmore families,rock outcrop complex,stony            2 0.0196
#>  7 7,gothic family                                                0 0.0667
#>  8 8,supervisor,limber families complex                           0 0.0278
#>  9 9,troutville family,very stony                                 1 0.0333
#> 10 10,bullwark,catamount families,rock outcrop complex,rubbly     1 0.0172
#> # ℹ 30 more rows

tidy(rec, number = 1)
#> # A tibble: 1 × 3
#>   terms       result id         
#>   <chr>       <chr>  <chr>      
#> 1 description NA     count_HX7KJ
tidy(rec2, number = 1)
#> # A tibble: 1 × 3
#>   terms       result id         
#>   <chr>       <chr>  <chr>      
#> 1 description rocks  count_HX7KJ
源代碼:R/count.R

相關用法


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