English · PDF 117
如果你在数据集中遇到了异常值,并且只想继续进行其余的分析,你有两个选择:
diamonds2 <- diamonds %>% filter(between(y, 3, 20))
我不推荐这种做法,因为仅仅一个测量值无效,并不意味着所有测量值都无效。此外,如果你的数据质量较低,等你对每个变量都应用了这种方法之后,可能会发现已经没有任何数据剩下了!
diamonds2 <- diamonds %>% mutate(y = ifelse(y < 3 | y > 20, NA, y))
ifelse() 有三个参数。第一个参数 test 应该是一个逻辑向量。当 test 为 TRUE 时,结果将包含第二个参数 yes 的值;当 test 为 FALSE 时,结果将包含第三个参数 no 的值。
与 R 一样,ggplot2 也遵循这样的理念:缺失值绝不应该被悄悄地忽略。由于缺失值应该绘制在哪里并不明显,ggplot2 不会将它们包含在图中,但会发出它们已被移除的警告: