用r语言解决以下问题, 已知数据集 nycfilghts13。 (1)找出 flights 的 tailnum 在 planes 中没有匹配的所有记录,总共有 多少架飞机没有匹配记录? (2)找出(1)中的 tailnum 所属的航空公司,在此基础上计算出各航空公司 所拥有的 tailnum 数量。 (3)展示出(2)中的航空公司的全名。
时间: 2023-06-08 09:08:03 浏览: 153
Plyr包函数讲解
感谢您的提问,我会尽力回答。
针对您的问题,以下是我的回答:
1. 找出 flights 的 tailnum 在 planes 中没有匹配的所有记录,总共有多少架飞机没有匹配记录?
您可以使用以下代码来解决这个问题:
# 加载数据包
library(nycflights13)
# 找出 flights 中没有匹配的 tailnum
unmatched_flights <- flights[!(flights$tailnum %in% planes$tailnum),]
# 统计总共有多少架飞机没有匹配记录
n_unmatched_flights <- nrow(unmatched_flights)
2. 找出(1)中的 tailnum 所属的航空公司,在此基础上计算出各航空公司所拥有的 tailnum 数量。
您可以使用以下代码来解决这个问题:
# 找出航班和机型匹配的 tailnum
matched_flights <- flights[flights$tailnum %in% planes$tailnum,]
# 找出每个 tailnum 所属的航空公司
tailnum_airline <- merge(matched_flights, planes, by = "tailnum")[, c("tailnum", "carrier.x")]
# 统计每个航空公司所拥有的 tailnum 数量
tailnum_count_by_airline <- aggregate(tailnum_airline["tailnum"], by = list(carrier = tailnum_airline$carrier.x), FUN = length)
colnames(tailnum_count_by_airline) <- c("Airline", "Tailnum Count")
3. 展示出(2)中的航空公司的全名。
您可以使用以下代码来解决这个问题:
# 获取航空公司全名的数据
airlines_fullname <- airlines[, c(1,2)]
# 合并航空公司名称
tailnum_count_by_airline_fullname <- merge(tailnum_count_by_airline, airlines_fullname, by.x = "Airline", by.y = "carrier")
# 显示航空公司及其拥有的 tailnum 数量
tailnum_count_by_airline_fullname
希望以上回答能够满足您的需求,如有其他疑问请随时提出。
阅读全文