【问题标题】:How to group columns to sum specific data and sort rows?如何对列进行分组以对特定数据求和并对行进行排序?
【发布时间】:2018-01-22 16:45:05
【问题描述】:

列数据按 YEAR、MONTH 和 DAY 分布,每一行关联到名为 X 的第四列。

如何获取X在YEAR、MONTH和DAY匹配行值的总和并对结果进行排序,例如:

A:
year month day x
2000 01    01 50
2000 01    02 30
2002 02    03 50
1994 01    01 3
2000 01    01 50
1996 01    02 5
2000 01    01 10

并获得

A:
year month day x
1994 01    01 3
1996 01    02 5
2000 01    01 110
2000 01    02 30
2002 02    03 50

【问题讨论】:

    标签: r match summarization


    【解决方案1】:

    dplyr 是一个不错的选择:

    library(dplyr)
    
    A %>% group_by(year, month, day) %>% summarise('x' = sum(x))
    

    它给出了想要的:

     year month day   x
    1994    01  01   3
    1996    01  02   5
    2000    01  01 110
    2000    01  02  30
    2002    02  03  50
    

    【讨论】:

    • 您是否也想要底部的总降雨值?您的示例结果未显示所有降雨值的总和。
    • 不,据说你的代码只向我显示了总摘要
    • Philippe,你可以进一步澄清你的问题。据我所知,你想获得什么和我提供给你的似乎很匹配。
    • 我认为 OP 想在summarise 之后按 3 列 (arrange) 排序。
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2016-04-08
    • 2017-11-29
    • 2014-01-01
    • 2019-11-20
    相关资源
    最近更新 更多