PDF 75 / 520 Exercises
English · PDF 75
Original PDF page 75
中文 · PDF 75

NA / 2 #> [1] NA

最容易混淆的结果是下面这个:

NA == NA #> [1] NA

结合更多上下文,最容易理解为什么这是对的:

# 设 x 为 Mary 的年龄。我们不知道她多大。 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 #> #> 1 3 filter(df, is.na(x) | x > 1) #> # A tibble: 2 × 1 #> x #> #> 1 NA #> 2 3

练习

    1. 找出所有满足以下条件的航班:
    • a. 到达延误两小时或以上
    • b. 飞往休斯顿(IAH 或 HOU)
    • c. 由联合航空、美国航空或达美航空运营