从 nycflights13 数据集中查找每月 plane/aircraft 的使用情况
Find monthly plane/aircraft usage from the nycflights13 data set
我想查询所有飞机的月使用量(基于tailnum)
可以说这是需要在 x 次行程后进行的某种维护 activity 所必需的。
截至目前,我正在按照以下方式进行操作;
library(nycflights13)
N14228 <- filter(flights,tailnum=="N14228")
by_month <- group_by(N14228 ,month)
usage <- summarise(by_month,freq = n())
freq_by_months<- arrange(usage, desc(freq))
所有飞机都必须这样做,因为有 4044 个不同的尾号,所以上述方法不起作用
我浏览了 dplyr 小插图并找到了一个非常接近这个的例子,但它旨在找到整体延迟,如下所示
flights %>%
group_by(year, month, day) %>%
select(arr_delay, dep_delay) %>%
summarise(
arr = mean(arr_delay, na.rm = TRUE),
dep = mean(dep_delay, na.rm = TRUE)
) %>%
filter(arr > 30 | dep > 30)
除此之外,我尝试使用聚合和应用但无法获得所需的结果。
查看 data.table
包。
library(data.table)
flt <- data.table(flights)
flt[, .N, by = c("tailnum", "month")]
tailnum month N
1: N14228 1 15
2: N24211 1 14
3: N619AA 1 1
4: N804JB 1 29
5: N668DN 1 4
---
37984: N225WN 9 1
37985: N528AS 9 1
37986: N3KRAA 9 1
37987: N841MH 9 1
37988: N924FJ 9 1
这里的.N
表示"count occurrence of"。
不确定这是否正是您要查找的内容,但无论如何,在执行速度和语法简单性方面,data.table
很难被击败。
我想查询所有飞机的月使用量(基于tailnum) 可以说这是需要在 x 次行程后进行的某种维护 activity 所必需的。
截至目前,我正在按照以下方式进行操作;
library(nycflights13)
N14228 <- filter(flights,tailnum=="N14228")
by_month <- group_by(N14228 ,month)
usage <- summarise(by_month,freq = n())
freq_by_months<- arrange(usage, desc(freq))
所有飞机都必须这样做,因为有 4044 个不同的尾号,所以上述方法不起作用
我浏览了 dplyr 小插图并找到了一个非常接近这个的例子,但它旨在找到整体延迟,如下所示
flights %>%
group_by(year, month, day) %>%
select(arr_delay, dep_delay) %>%
summarise(
arr = mean(arr_delay, na.rm = TRUE),
dep = mean(dep_delay, na.rm = TRUE)
) %>%
filter(arr > 30 | dep > 30)
除此之外,我尝试使用聚合和应用但无法获得所需的结果。
查看 data.table
包。
library(data.table)
flt <- data.table(flights)
flt[, .N, by = c("tailnum", "month")]
tailnum month N
1: N14228 1 15
2: N24211 1 14
3: N619AA 1 1
4: N804JB 1 29
5: N668DN 1 4
---
37984: N225WN 9 1
37985: N528AS 9 1
37986: N3KRAA 9 1
37987: N841MH 9 1
37988: N924FJ 9 1
这里的.N
表示"count occurrence of"。
不确定这是否正是您要查找的内容,但无论如何,在执行速度和语法简单性方面,data.table
很难被击败。