r - 如何按日期范围分组
问题描述
我有一个数据框,其中包含日期,一些文本位于单独的列中
我想将日期在特定范围内的任何行粘贴在一起
输入
Date Text
12-01-2001 sometext
15-01-2001 sometext2
23-02-2015 Row3_Text
28-02-2015 Row4_Text
预期结果
Date Text
12-01-2001 sometextsometext2
23-02-2015 Row3_TextRow4_Text
尝试 1
df<-df %>%
group_by(Date) %>%
summarise_all(.funs = function(x) paste(unique(c(dplyr::lag(x, default = NULL), x)), collapse = ":"))
问题
如何创建要分组的日期范围(例如天数,例如 10 天)。我确定有一种润滑方式可以做到这一点,但我无法弄清楚
解决方案
假设您想按月分组并在本月有第一个发生日期:
df1 %>%
group_by(month = lubridate::month(Date)) %>% # create group by month
summarise(Date = min(Date),
Text = paste0(Text, collapse = " ")) %>% # paste values together with a space
select(-month) # drop the month group
# A tibble: 2 x 2
Date Text
<chr> <chr>
1 12-01-2001 sometext sometext2
2 23-02-2015 Row3_Text Row4_Text
推荐阅读
- java - 在Java8中嵌套arraylist到hashmap
- javascript - 如果自动完成输入为空,如何添加类?
- spring - 修复 HTTP 504:不使用负载均衡器时的网关超时
- xamarin - Xamarin.Forms PlatformParametwer 不包含采用 2 个参数的构造函数
- amazon-web-services - aws elastic beanstalk nginx 反向代理设置
- c# - 在 vs2013/vs2017 中不同的即时窗口中显示双倍
- apache-spark - 写入 SQL DW 的 Databricks/Spark 数据正在删除表并重新创建它
- c# - 在 C# CRUD 操作中更新/编辑条目
- python - Pip 错误 -> ImportError:没有名为 helpers 的模块
- javascript - 在 JavaScript 6 中旋转没有 jQuery 的文本