删除多年范围内的所有日期

jl748795

问题:

我有一个多年数据集,我想在其中删除所有年份的日期范围(例如5月1日至8月31日)。我想将所有年份的日期都保留为4月30日至9月1日。

数据示例:

dat <- data.frame(
  "Date" = c("2000-08-01","2000-11-02","2001-08-03","2001-11-04","2002-06-05","2002-02-06","2000-08-07","2000-02-08","2001-06-09","2001-11-10"),
  "Type" = c("A", "B", "C", "B", "C", "B", "A", "A", "C", "B"),
  "Num" = c(8,6,5,6.5,5,5.5,6,7,4,3)
)
dat

我尝试过的

我创建了一个对象,其中所有年份的日期均为5月1日,并使用for循环删除了直到8月31日为止的天数。我知道这是一种极为round回的方式,所以我想知道是否有一个更简单的解决方案因为这是一个相当大的数据集。

dates_start <- as.Date(c("2000-05-01", "2001-05-01", "2002-05-01"))

for(i in 1:length(dates_start)){
  dat <- dat[!(as.Date(dat$Date) >= (dates_start[i] + 123)),]
}

编辑:

我计划多次运行此过滤器/删除操作以获得不同的数据集,并且在某些情况下,我想删除该月中旬的日期(例如4月15日至8月16日),因此仅删除某些月份在这里行不通。

罗纳克·沙

您可以动态创建日期以删除:

library(dplyr)
library(lubridate)

start <- '04-15'
end <- '08-16'

dat %>% 
  mutate(Date = as.Date(Date), 
         year = year(Date)) %>%
  filter(!(Date >= ymd(paste(year, start, sep = '-')) & 
          Date <= ymd(paste(year, end, sep = '-'))))


#       Date Type Num year
#1 2000-11-02    B 6.0 2000
#2 2001-11-04    B 6.5 2001
#3 2002-02-06    B 5.5 2002
#4 2000-02-08    A 7.0 2000
#5 2001-11-10    B 3.0 2001

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选择日期范围内的所有日期范围

来自分类Dev

输出日期范围内的所有日期

来自分类Dev

Laravel:如何分别获得日期范围内的所有日期和日期范围内的所有日期?

来自分类Dev

搜索日期范围内的所有对象

来自分类Dev

遍历对象并添加日期范围内的所有值

来自分类Dev

获取日期范围内的所有行的列表

来自分类Dev

如何设置日期范围内的所有日志文件

来自分类Dev

迭代并打印树枝中范围内的所有日期

来自分类Dev

MySQL选择日期范围内的所有日期,即使当天没有可用数据

来自分类Dev

给定一个范围,在Scala中获取该范围内的所有日期

来自分类Dev

获取给定范围内所有日期的结果,包括不存在的日期

来自分类Dev

在JavaScript中获取给定日期范围内的所有日期的列表

来自分类Dev

如何返回日期范围内每个日期包含非空值的所有ID?

来自分类Dev

将给定日期范围内的所有日期存储到变量中

来自分类Dev

SQL Cross Join 获取日期范围内的所有日期

来自分类Dev

SQL Cross Join 获取日期范围内的所有日期

来自分类Dev

范围内所有元素的均等

来自分类Dev

在Google BigQuery中使用所有日期在给定范围内的表格填充表格

来自分类Dev

如何在C#中获取日期范围内的所有周末

来自分类Dev

如何使用bash中可用的工具生成范围内所有日期的列表?

来自分类Dev

如何在两个日期范围内查找所有星期一

来自分类Dev

Laravel查询:在特定日期范围内获取所有未预订的车辆

来自分类Dev

mysql查询获取日期范围内未预订的所有未给出预期结果的房间

来自分类Dev

该查询返回多年范围内的每月总计计算

来自分类Dev

如何在Vim中拉动或删除多行,所有行都在不同范围内?

来自分类Dev

如何删除Google Spreadsheets范围内的所有其他重复项

来自分类Dev

R 删除数据帧中某个时间范围内的所有行

来自分类Dev

如何删除mule中特定范围内的所有属性(INVOCATION/INBOUND/OUTBOUND/SESSION)

来自分类Dev

如果可以在单独的范围内找到此范围内的日期,则删除行

Related 相关文章

  1. 1

    选择日期范围内的所有日期范围

  2. 2

    输出日期范围内的所有日期

  3. 3

    Laravel:如何分别获得日期范围内的所有日期和日期范围内的所有日期?

  4. 4

    搜索日期范围内的所有对象

  5. 5

    遍历对象并添加日期范围内的所有值

  6. 6

    获取日期范围内的所有行的列表

  7. 7

    如何设置日期范围内的所有日志文件

  8. 8

    迭代并打印树枝中范围内的所有日期

  9. 9

    MySQL选择日期范围内的所有日期,即使当天没有可用数据

  10. 10

    给定一个范围,在Scala中获取该范围内的所有日期

  11. 11

    获取给定范围内所有日期的结果,包括不存在的日期

  12. 12

    在JavaScript中获取给定日期范围内的所有日期的列表

  13. 13

    如何返回日期范围内每个日期包含非空值的所有ID?

  14. 14

    将给定日期范围内的所有日期存储到变量中

  15. 15

    SQL Cross Join 获取日期范围内的所有日期

  16. 16

    SQL Cross Join 获取日期范围内的所有日期

  17. 17

    范围内所有元素的均等

  18. 18

    在Google BigQuery中使用所有日期在给定范围内的表格填充表格

  19. 19

    如何在C#中获取日期范围内的所有周末

  20. 20

    如何使用bash中可用的工具生成范围内所有日期的列表?

  21. 21

    如何在两个日期范围内查找所有星期一

  22. 22

    Laravel查询:在特定日期范围内获取所有未预订的车辆

  23. 23

    mysql查询获取日期范围内未预订的所有未给出预期结果的房间

  24. 24

    该查询返回多年范围内的每月总计计算

  25. 25

    如何在Vim中拉动或删除多行,所有行都在不同范围内?

  26. 26

    如何删除Google Spreadsheets范围内的所有其他重复项

  27. 27

    R 删除数据帧中某个时间范围内的所有行

  28. 28

    如何删除mule中特定范围内的所有属性(INVOCATION/INBOUND/OUTBOUND/SESSION)

  29. 29

    如果可以在单独的范围内找到此范围内的日期,则删除行

热门标签

归档