啊啊啊啊啊吖

2018-11-02   阅读量: 1016

数据分析师 R语言

用filter()函数处理缺失值

扫码加入数据分析学习群

R 的一个重要特征使得比较运算更加复杂,这个特征就是缺失值,或称 NA(not available,

不可用)。 NA 表示未知的值,因此缺失值是“可传染的”。如果运算中包含了未知值,那么

运算结果一般来说也是个未知值:

NA > 5
#> [1] NA
10 == NA
#> [1] NA
NA + 10
#> [1] NA
NA / 2
#> [1] NA

最令人费解的是以下这个结果:

NA == NA
#> [1] NA

要想理解为什么会这样,最容易的方式是加入一点背景知识:

# xMary的年龄。我们不知道她有多大。
x <- NA
# 令y为John的年龄。我们不知道他有多大。
y <- NA
# John和Mary的年龄是相同的吗?
x == y
#> [1] NA
# 我们不知道!

如果想要确定一个值是否为缺失值,可以使用 is.na() 函数:

is.na(x)
#> [1] TRUE

filter() 只能筛选出条件为 TRUE 的行;它会排除那些条件为 FALSE NA 的行。如果想保

留缺失值,可以明确指出:

df <- tibble(x = c(1, NA, 3))
filter(df, x > 1)
#> # A tibble: 1 × 1
#> x
#> <dbl>
#> 1 3
filter(df, is.na(x) | x > 1)
#> # A tibble: 2 × 1
#> x
#> <dbl>
#> 1 NA
#> 2 3
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
604.2320 2 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子