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
-
如果
TRUE
和x
至少包含一個NA
,則NA
包含在構造因子的級別中。 - trim_ws
-
在解析每個字段之前是否應該刪除前導和尾隨空格(ASCII 空格和製表符)?
也可以看看
其他解析器:col_skip()
, cols_condense()
, cols()
, parse_datetime()
, parse_guess()
, parse_logical()
, parse_number()
, parse_vector()
例子
# 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 readr parse_number 靈活地解析數字
- R readr parse_vector 解析字符向量。
- R readr parse_guess 使用“最佳”類型進行解析
- R readr parse_datetime 解析日期/時間
- R readr parse_atomic 解析邏輯數、整數和實數
- R readr problems 檢索解析問題
- R readr datasource 創建源對象。
- R readr melt_delim 返回分隔文件中每個標記的熔化數據(包括 csv 和 tsv)
- R readr read_rds 讀/寫 RDS 文件。
- R readr read_lines 從文件中讀取/寫入行
- R readr read_fwf 將固定寬度文件讀入 tibble
- R readr read_builtin 從包中讀取內置對象
- R readr Tokenizers 分詞器。
- R readr melt_table 返回空格分隔文件中每個標記的熔化數據
- R readr date_names 創建或檢索日期名稱
- R readr type_convert 重新轉換現有 DataFrame 中的字符列
- R readr locale 創建語言環境
- R readr write_delim 將數據幀寫入分隔文件
- R readr with_edition 暫時更改活動閱讀器版本
- R readr read_delim 將分隔文件(包括 CSV 和 TSV)讀入 tibble
- R readr format_delim 將 DataFrame 轉換為分隔字符串
- R readr edition_get 檢索當前活動版本
- R readr readr_example 獲取 readr 示例的路徑
- R readr melt_fwf 返回固定寬度文件中每個標記的熔化數據
- R readr count_fields 計算文件每一行中的字段數
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Parse factors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。