啊啊啊啊啊吖

2018-11-04   阅读量: 785

数据分析师 R语言

解析向量是个啥

扫码加入数据分析学习群

parse_*() 函数族。

这些函数接受一个字符向量,并返回一个特定向量,如逻辑、整数或日期向量:

str(parse_logical(c("TRUE", "FALSE", "NA")))
#> logi [1:3] TRUE FALSE NA
str(parse_integer(c("1", "2", "3")))
#> int [1:3] 1 2 3
str(parse_date(c("2010-01-01", "1979-10-14")))
#> Date[1:2], format: "2010-01-01" "1979-10-14"

和 tidyverse 中的所有函数一样, parse_*() 函数族的用法是一致的。第一个参数是需要解

析的字符向量, na 参数设定了哪些字符串应该当作缺失值来处理:

parse_integer(c("1", "231", ".", "456"), na = ".")

#> [1] 1 231 NA 456

如果解析失败,你会收到一条警告:

x <- parse_integer(c("123", "345", "abc", "123.45"))
#> Warning: 2 parsing failures.
#> row col expected actual
#> 3 -- an integer abc#> 4 -- no trailing characters .45解析失败的值在输出中是以缺失值的形式存在的:x#> [1] 123 345 NA NA#> attr(,"problems")#> # A tibble: 2 × 4
#> row col expected actual#> <int> <int> <chr> <chr>#> 1 3 NA an integer abc
#> 2 4 NA no trailing characters .45

如果解析失败的值很多,那么就应该使用 problems() 函数来获取完整的失败信息集合。这

个函数会返回一个 tibble,你可以使用 dplyr 包来进行处理:

problems(x)
#> # A tibble: 2 × 4
#> row col expected actual#> <int> <int> <chr> <chr>#> 1 3 NA an integer abc
#> 2 4 NA no trailing characters .45

在解析函数的使用方面,最重要的是要知道有哪些解析函数,以及每种解析函数用来处理

哪种类型的输入。具体来说,重要的解析函数有 8 种。

• parse_logical() 和 parse_integer() 函数分别解析逻辑值和整数。因为这两个解析函数

基本不会出现问题,所以我们不再进行更多介绍。

• parse_double() 是严格的数值型解析函数, parse_number() 则是灵活的数值型解析函数。

这两个函数要比你预想的更复杂,因为世界各地书写数值的方式不尽相同。

• parse_character() 函数似乎太过简单,甚至没必要存在。但一个棘手的问题使得这个

函数变得非常重要:字符编码。

• parse_factor() 函数可以创建因子, R 使用这种数据结构来表示分类变量,该变量具有

固定数目的已知值。

• parse_datetime()、 parse_date() 和 parse_time() 函数可以解析不同类型的日期和时间。

它们是最复杂的,因为有太多不同的日期书写形式。

0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子