[英]keep columns after summarising using tidyverse in R
我有一个数据集,它由具有年、月和日值的组组成。 我想在 R 中使用 tidyverse 过滤组,以便找到时间序列中的最新月份。 这是一些示例代码。
dat = expand.grid(group = seq(1,5),year = seq(2016,2020),month=seq(1:12))
dat = dat[order(dat$group,dat$year,dat$month),]
dat$days=sample(seq(0,30),nrow(dat),replace=TRUE)
dat$year[dat$year==2020 & dat$month==12] = NA
dat = dat[complete.cases(dat),]
在此示例中,有 5 个组具有 2016 年至 2020 年的月度数据。但是,我们假设 12 月组缺失。 此外,数据集中缺少某些日期
我可以从 2019 年开始抓取 12 月,但不确定如何在摘要中包含天数并按月天数进行过滤。 例如,
a = dat %>%
group_by(group,month) %>%
summarise(year = max(year))
获取年份,但我想在月份和年份中添加正确的日期。 有谁知道如何保留天数列? 我不想平均或得到最小值或任何东西。
我们可以使用slice_max
根据每个分组块的 'year' 的max
返回整行
library(dplyr)
dat %>%
group_by(group, month) %>%
slice_max(year)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.