返回

r-基于多个条件的过滤器,包括连续日期

发布时间:2022-08-26 23:33:25 269
# 数据
filtered_data <- data %>% 
  filter(x < -10 & x <= days(3) of x < -5 & x > -10)

我想说的是,我想让它过滤我的数据列中所有小于-10的值,以及连续3天内介于-5和-10之间的值。

例如,如果7月1日至5日的值低于-10,但7月6日、7日和8日的值为-7,那么7月9日的值低于-10,我希望7月6日至8日也包括在内。我希望这是有意义的。

关于如何正确地写出来有什么想法吗?天数(x)函数来自lubridate,应表示x天的周期

虽然我的过滤函数工作:

library ("lubridate")
data <- data.frame(date = c("2020-06-08",
                            "2020-06-09",
                            "2020-06-10",
                            "2020-06-11",
                            "2020-06-12",
                            "2021-07-04",    
                            "2021-07-04",
                            "2021-07-05",
                            "2021-07-06",
                            "2021-07-07",
                            "2021-07-08",
                            "2021-07-09",
                            "2021-07-10"),
                   value = c(-15,-11,-6,-7,-10,5,-11,-10,-20,-7,-6,-5,-10))
data                           

filtered_data <- data  %>% 
  filter(value < -10 & value <= days(3): value < -5 & value > -10) 
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像