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


R readr parse_factor 解析因子


parse_factor()factor() 類似,但如果已指定 levels 並且在 levels 中找不到 x 的某些元素,則會生成警告。

用法

parse_factor(
  x,
  levels = NULL,
  ordered = FALSE,
  na = c("", "NA"),
  locale = default_locale(),
  include_na = TRUE,
  trim_ws = TRUE
)

col_factor(levels = NULL, ordered = FALSE, include_na = FALSE)

參數

x

要解析的值的字符向量。

levels

允許級別的字符向量。當 levels = NULL (默認)時,levels 是從 x 的唯一值中發現的,按照它們在 x 中出現的順序。

ordered

它是有序因子嗎?

na

要解釋為缺失值的字符串的字符向量。將此選項設置為 character() 以指示沒有缺失值。

locale

區域設置控製默認值因地而異。默認區域設置為 US-centric(如 R),但您可以使用 locale() 創建自己的區域設置來控製默認時區、編碼、小數標記、大標記和日/月名稱等內容。

include_na

如果TRUEx至少包含一個NA,則NA包含在構造因子的級別中。

trim_ws

在解析每個字段之前是否應該刪除前導和尾隨空格(ASCII 空格和製表符)?

也可以看看

例子

# discover the levels from the data
parse_factor(c("a", "b"))
#> [1] a b
#> Levels: a b
parse_factor(c("a", "b", "-99"))
#> [1] a   b   -99
#> Levels: a b -99
parse_factor(c("a", "b", "-99"), na = c("", "NA", "-99"))
#> [1] a    b    <NA>
#> Levels: a b <NA>
parse_factor(c("a", "b", "-99"), na = c("", "NA", "-99"), include_na = FALSE)
#> [1] a    b    <NA>
#> Levels: a b

# provide the levels explicitly
parse_factor(c("a", "b"), levels = letters[1:5])
#> [1] a b
#> Levels: a b c d e

x <- c("cat", "dog", "caw")
animals <- c("cat", "dog", "cow")

# base::factor() silently converts elements that do not match any levels to
# NA
factor(x, levels = animals)
#> [1] cat  dog  <NA>
#> Levels: cat dog cow

# parse_factor() generates same factor as base::factor() but throws a warning
# and reports problems
parse_factor(x, levels = animals)
#> Warning: 1 parsing failure.
#> row col           expected actual
#>   3  -- value in level set    caw
#> [1] cat  dog  <NA>
#> attr(,"problems")
#> # A tibble: 1 × 4
#>     row   col expected           actual
#>   <int> <int> <chr>              <chr> 
#> 1     3    NA value in level set caw   
#> Levels: cat dog cow
源代碼:R/collectors.R

相關用法


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