首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R数据科学|3.3课后习题

R数据科学|3.3课后习题

作者头像
庄闪闪
发布2021-04-09 11:04:04
1.9K1
发布2021-04-09 11:04:04
举报

《R数据科学》是一本很好的R学习教材,小编学习过程中,把作业题做了一下,今天给出第三章3.3[1]习题解答,仅供参考。如有误,可留言。

问题一

如何使用arrange()将缺失值排在最前面?(提示:使用is.na()。)

解答

  • 要将NA值放在首位,我们可以添加一个指示符,指示该列是否缺少值。然后根据缺少的指示符列和感兴趣的列进行排序。例如,要按出发时间dep_time升序排序,但NA值需要放在前面,运行以下操作。
arrange(flights, desc(is.na(dep_time)), dep_time)
#> # A tibble: 336,776 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013     1     1       NA           1630        NA       NA           1815
#> 2  2013     1     1       NA           1935        NA       NA           2240
#> 3  2013     1     1       NA           1500        NA       NA           1825
#> 4  2013     1     1       NA            600        NA       NA            901
#> 5  2013     1     2       NA           1540        NA       NA           1747
#> 6  2013     1     2       NA           1620        NA       NA           1746
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> #   carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> #   air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>

问题二

flights排序以找出延误时间最长的航班。找出出发时间最早的航班。

解答

  • 延误时间最长
arrange(flights, desc(dep_delay))
#> # A tibble: 336,776 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013     1     9      641            900      1301     1242           1530
#> 2  2013     6    15     1432           1935      1137     1607           2120
#> 3  2013     1    10     1121           1635      1126     1239           1810
#> 4  2013     9    20     1139           1845      1014     1457           2210
#> 5  2013     7    22      845           1600      1005     1044           1815
#> 6  2013     4    10     1100           1900       960     1342           2211
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> #   carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> #   air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
  • 出发时间最早
arrange(flights, dep_delay)
#> # A tibble: 336,776 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013    12     7     2040           2123       -43       40           2352
#> 2  2013     2     3     2022           2055       -33     2240           2338
#> 3  2013    11    10     1408           1440       -32     1549           1559
#> 4  2013     1    11     1900           1930       -30     2233           2243
#> 5  2013     1    29     1703           1730       -27     1947           1957
#> 6  2013     8     9      729            755       -26     1002            955
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> #   carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> #   air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>

问题三

flights排序以找出速度最快的航班。

解答

arrange(flights, desc(distance / air_time))
#> # A tibble: 6 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013     5    25     1709           1700         9     1923           1937
#> 2  2013     7     2     1558           1513        45     1745           1719
#> 3  2013     5    13     2040           2025        15     2225           2226
#> 4  2013     3    23     1914           1910         4     2045           2043
#> 5  2013     1    12     1559           1600        -1     1849           1917
#> 6  2013    11    17      650            655        -5     1059           1150
#> # … with 11 more variables: arr_delay <dbl>, carrier <chr>, flight <int>,
#> #   tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>,
#> #   hour <dbl>, minute <dbl>, time_hour <dttm>

问题四

哪个航班的飞行时间最长?哪个最短?

解答

  • 飞行时间最长,即对air_time降序排列找第一。

arrange(flights, desc(air_time))
#> # A tibble: 336,776 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013     3    17     1337           1335         2     1937           1836
#> 2  2013     2     6      853            900        -7     1542           1540
#> 3  2013     3    15     1001           1000         1     1551           1530
#> 4  2013     3    17     1006           1000         6     1607           1530
#> 5  2013     3    16     1001           1000         1     1544           1530
#> 6  2013     2     5      900            900         0     1555           1540
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> #   carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> #   air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
  • 飞行时间最短,即对air_time升序排列找第一。
arrange(flights, air_time)
#> # A tibble: 336,776 x 19
#>    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#>   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
#> 1  2013     1    16     1355           1315        40     1442           1411
#> 2  2013     4    13      537            527        10      622            628
#> 3  2013    12     6      922            851        31     1021            954
#> 4  2013     2     3     2153           2129        24     2247           2224
#> 5  2013     2     5     1303           1315       -12     1342           1411
#> 6  2013     2    12     2123           2130        -7     2211           2225
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> #   carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> #   air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>

参考资料

[1]

R数据科学: https://jrnold.github.io/r4ds-exercise-solutions

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 庄闪闪的R语言手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题一
    • 解答
    • 问题二
      • 解答
      • 问题三
        • 解答
        • 问题四
          • 解答
            • 参考资料
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档