PDF 88 / 520 Counts
English · PDF 88
Original PDF page 88
中文 · PDF 88

聚合函数都有一个 na.rm 参数,用于在计算之前移除缺失值:

flights %>% group_by(year, month, day) %>% summarize(mean = mean(dep_delay, na.rm = TRUE)) #> Source: local data frame [365 x 4] #> Groups: year, month [?] #> #> year month day mean #> #> 1 2013 1 1 11.55 #> 2 2013 1 2 13.86 #> 3 2013 1 3 10.99 #> 4 2013 1 4 8.95 #> 5 2013 1 5 5.73 #> 6 2013 1 6 7.15 #> # ... with 359 more rows

在本例中,由于缺失值代表被取消的航班,我们也可以先移除被取消的航班来解决这个问题。我们将保存这个数据集,以便在接下来的几个示例中重复使用:

not_cancelled <- flights %>% filter(!is.na(dep_delay), !is.na(arr_delay)) not_cancelled %>% group_by(year, month, day) %>% summarize(mean = mean(dep_delay)) #> Source: local data frame [365 x 4] #> Groups: year, month [?] #> #> year month day mean #> #> 1 2013 1 1 11.44 #> 2 2013 1 2 13.68 #> 3 2013 1 3 10.91 #> 4 2013 1 4 8.97 #> 5 2013 1 5 5.73 #> 6 2013 1 6 7.15 #> # ... with 359 more rows

计数

每当你进行任何聚合操作时,最好都包含一个计数(n()),或者非缺失值的计数(sum(!is.na(x)))。这样你就可以检查自己是否基于非常少量的数据得出了结论。例如,我们