当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。