【问题标题】:Extracting unique column combination and finding sum and count in R提取唯一列组合并在 R 中查找总和和计数
【发布时间】:2020-09-29 01:53:43
【问题描述】:

我有一个包含 4 列的航班数据库,如下所示。

原文:

我想要一个输出,它根据 3 列(出发地/目的地/航空公司)的唯一组合给出行,将每个唯一组合的乘客数量相加,并计算每个唯一组合的行数。结果会是这样。

输出:

我可以使用 group_by 函数完成其中的 1 部分

df %>% group_by(Origin, destination, carrier) %>% summarise(count = n())

如何包括人口总和?

【问题讨论】:

    标签: r group-by summarize


    【解决方案1】:

    我们可以使用dplyr

    library(dplyr)
    df1 %>%
       group_by(Origin, Destination, Airline) %>%
       dplyr::summarise(count = n(), TotalPassengers = sum(Passengers))
    # Groups:   Origin, Destination [2]
    #  Origin Destination Airline count TotalPassengers
    #  <chr>  <chr>       <chr>   <int>           <dbl>
    #1 ABE    ATL         9A          2               3
    #2 ABE    ATL         DL          1               5
    #3 NYC    SFA         AA          3              21
    #4 NYC    SFA         DL          1               5
    

    数据

    df1 <- data.frame(Origin = rep(c("ABE", "NYC"), c(3, 4)),
          Destination = rep(c("ATL", "SFA"), c(3, 4)),
          Airline = c("9A", "9A", "DL", "AA", "AA", "AA", "DL"),
          Passengers = c(2, 1, 5, 4, 10, 7, 5))
    

    【讨论】:

    • @GreenFinance 好吧,我得到的输出和你预期的一样
    • @GreenFinance 如果你已经加载了plyrplyr::summarise 可以屏蔽dplyr::summarisedf1 %&gt;% group_by(Origin, Destination, Airline) %&gt;% dplyr::summarise(count = n(), TotalPassengers = sum(Passengers))
    • 是的,现在得到它。我做错了。再次感谢
    • @GreenFinance 没关系。我之所以这么说,是因为许多刚接触该网站的人不愿意给回答它的人打分。话虽如此,这些点是没有意义的,它没有收入结构或youtube等的任何东西。这只是一个表示感谢的象征。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多