r - 过滤日期接近其他日期的观测值
问题描述
我想过滤靠近其他日期(+5 天)的日期。
d <- wrapr::build_frame( "ID","DATE2", "DATE" | 1 , "2001-01-02" , "2001-01-05" | 2 , "2001-01-02" , "2015-04-25" | 3 , "2001-01-02" , "2000-04-01" | 4 , "2014-01-02" , "2014-03-29" | 5 , "2001-01-02" , "2001-01-02" | 6 , "2001-01-02" , "2005-06-16" )
ID DATE2 DATE
1 1 2001-01-02 2001-01-05
2 2 2001-01-02 2015-04-25
3 3 2001-01-02 2000-04-01
4 4 2014-01-02 2014-03-29
5 5 2001-01-02 2001-01-02
6 6 2001-01-02 2005-06-16
应该生成这个:
ID DATE2 DATE
1 1 2001-01-02 2001-01-05
2 4 2014-01-02 2014-03-29
3 5 2001-01-02 2001-01-02
我想使用 dplyr -d%>%filter(DATE= etc...)
如果可能的话。
谢谢 ;) /H
解决方案
这是一种使用filter
. 我不知道你为什么认为2014-01-02
是在 5 天内的2014-03-29
想法。
library(dplyr)
d %>%
mutate_at(vars(c("DATE2","DATE")),
list(~as.Date(.))) %>%
dplyr::filter(abs(DATE - DATE2) <= 5)
# ID DATE2 DATE
#1 1 2001-01-02 2001-01-05
#2 5 2001-01-02 2001-01-02
推荐阅读
- vim - 如何恢复我通过 NERDTree(vim 文件管理器扩展)删除的 python 文件?
- c# - 将值从 DropDownList 传递到模型的列表
- java - Discord JDA Bot 无限发送消息
- php - 在抽象类中定义模型属性
- python - 使用嵌套字典更新字典
- azure - Azure帐户免费试用订阅已禁用如何再次激活它
- asp.net-core - 我的剃须刀页面无法正常工作所有生成相同的错误:找不到本地主机页面
- algorithm - 在这个模拟退火算法中与 [0, 1] 中的随机值进行比较的目的是什么?
- javascript - 根据用户更改获取选定的选项值
- python-3.x - 无法打开大于内存的 HDF5 文件... ValueError