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

#> 6 2013-01-01 05:00:00 150 2013 1 1 554 #> # ... 还有 3.368e+05 行,以及 13 个更多变量:#> # sched_dep_time , dep_delay , arr_time , #> # sched_arr_time , arr_delay , carrier , #> # flight , tailnum , origin , dest , #> # 距离 , 小时 , 分钟

练习

    1. 尽可能多地想出从 flights 中选择 dep_time、dep_delay、arr_time 和 arr_delay 的方法。
    1. 如果在 select() 调用中多次包含同一个变量的名称,会发生什么?
    1. one_of() 函数的作用是什么?为什么它与下面这个向量结合使用时可能会有帮助?

vars <- c( "year", "month", "day", "dep_delay", "arr_delay" )

    1. 运行以下代码的结果是否让你感到意外?select 辅助函数默认如何处理大小写?如何改变这个默认行为?

select(flights, contains("TIME"))

使用 mutate() 添加新变量

除了选择现有的列集合之外,添加基于现有列函数计算得到的新列通常也很有用。这正是 mutate() 的职责。

mutate() 总是将新列添加到数据集的末尾,因此我们先创建一个更窄的数据集,以便能够看到新变量。请记住,在 RStudio 中,查看所有列的最简单方法是使用 View():

flights_sml <- select(flights, year:day, ends_with("delay"), distance, air_time ) mutate(flights_sml, gain = arr_delay - dep_delay, speed = distance / air_time * 60