如何根据2个条件进行计数

时间:2019-11-28 19:57:49

标签: r

我看一下library(nycflights13)软件包中的“航班”表。我尝试从中创建一个表格,其中包含每个始发机场每个承运人的航班数量。我最初的想法是计算每个始发机场的每家航空公司的数量。

所以表可能看起来像这样:

number of flights / carrier / origin
200-AA-JFK
147-AA-ALM (because airlines could have flown off from different airports)
etc...

坦率地说,我不知道如何在编码方面解决这个问题。我从这个简单的两层开始:

flights %>%
  count(carrier) 

它显示了每个航空公司的数量。是否可以通过某种方式添加另一个计数标准(例如起点),以便该功能可以对每个起点的航空公司数量进行计数

2 个答案:

答案 0 :(得分:2)

您可以使用data.table软件包和以下命令

flights[, .N, .(origin, carrier)]

答案 1 :(得分:1)

一个选择是先group_by,然后再sum次“飞行”

library(nycflights13)
library(dplyr)
flights %>% 
  group_by(origin, carrier) %>%
  summarise(nflights = sum(flight), count = n())

如果我们不需要sum的“飞行”,则将count与多列一起使用

flights %>%
   count(origin, carrier)