50个”data.table练习题”

使用dtplyr链接dplyr和data.table

data.table
R
Author

Lee

Published

June 25, 2024

data.table 是 R 语言中用于处理表格数据的包,尽管 data.table 提供了与 data.frame 稍有不同的语法,但是非常简单好用,相对于 data.frame 速度极快,一旦你学会了 data.table,一般的就不太想回到 data.frame 了。

本次练习,我们尝试采用dtplyr链接dplyrdata.table

1 缺失值处理

1.1 如何判断data.table中是否有缺失值

1.2 如何查看缺失值情况

1.3 如何获取缺失值所在的位置(行、列值)

1.4 如何统计每一列的缺失值

1.5 如何替换缺失值为0

1.6 如何替换缺失值为平均值

2 选择数据与分组计算

2.1 如何选择一列数据并返回list对象

2.2 如何选择一列数据并返回data.table对象

2.3 如何选择多列数据

2.4 如何同时改变多列名称

2.5 如何删除指定列

2.6 如何按照制定的列排序

2.7 如何筛选数据

2.8 如何选择指定条件的数据并进行聚合计算(均值、最大值等)

2.9 如何分组计算唯一值

2.10 如何进行分组聚合计算

2.10.1 test1

2.10.2 test2

2.10.3 test3

2.11 如何选择所有数值类型的列

2.12 如何按 Manufacturer(汽车制造商)分组计算所有数值类型的均值

3 综合性问题

3.1 如何获取每个 Manufacturer 的第一行数据

3.2 如何设置数据列为主键列

3.3 如何获取 Type 为 Small 的所有数据

3.4 如何获得 Type 为 ‘Midsize’, ‘Small’ 的数据

3.5 如何按 Manufacturer 分组后计算 Price 的方差¶

3.6 如何获取 Type= Small, 按 Manufacturer 分组,计算 Price 的均值

3.7 如何得到 Price 最大值所在的行

3.8 如何得到 Price 第5个最大值所在的行

3.9 如何计算数值列之间的 correlation score

3.10 如何 normalize(标准化) 指定的列、所有数值列

4 案例分析

4.1 导入并查看数据

4.2 获得所有六月份从 JFK 出发的航班数据

4.3 选择 arr_delay 和 dep_delay 并重命名为 到达延误 和 起飞延误

4.4 有多少航班的总延误时间 < 0

4.5 计算6月份从 JFK 起飞的航班的起飞延误和到达延误均值

4.6 按起飞机场分组,计算航班数

4.7 哪个机场最繁忙?哪个月份机场最繁忙?

4.8 按起飞、降落机场分组,获取 AA 航空公司的航班数

4.9 获取按起飞、降落延误分组的航班数

4.10 按起飞机场、月份分组,获取 AA 航空公司的起飞、降落平均延误时间

4.11 6月份哪个机场起飞延误情况最为严重?

4.12 哪个航空公司在哪个月份起飞延误最为严重