Select 数据基于一个月中的某一天,"If date is lesser than a day in a month"
Select data based on a day in a month, "If date is lesser than a day in a month"
我有一个包含日期列的数据集:
id
date
1
2018-02-13
2
2019-02-28
3
2014-01-23
4
2021-10-28
5
2022-01-23
6
2019-09-28
我想要 select 日期小于 2 月 15 日的数据
我尝试使用 ifelse 语句在我的数据库中定义每年的 2 月 15 日,但我想知道是否有更简单的方法!
这是我期待的结果
id
date
1
2018-02-13
3
2014-01-23
5
2022-01-23
提前致谢
你可以使用 lubridate
library(lubridate)
library(dplyr)
d %>% filter(month(date)<2 | (month(date)==2 & day(date)<=15))
输出:
id date
1 1 2018-02-13
2 3 2014-01-23
3 5 2022-01-23
这是一个基本的 R 选项。使用 format
检查 month/year 是否在 1 月 1 日和 2 月 15 日之间。
df[between(format(df$date, "%m%d"), "0101", "0215"),]
输出
id date
1 1 2018-02-13
3 3 2014-01-23
5 5 2022-01-23
我有一个包含日期列的数据集:
id | date |
---|---|
1 | 2018-02-13 |
2 | 2019-02-28 |
3 | 2014-01-23 |
4 | 2021-10-28 |
5 | 2022-01-23 |
6 | 2019-09-28 |
我想要 select 日期小于 2 月 15 日的数据
我尝试使用 ifelse 语句在我的数据库中定义每年的 2 月 15 日,但我想知道是否有更简单的方法!
这是我期待的结果
id | date |
---|---|
1 | 2018-02-13 |
3 | 2014-01-23 |
5 | 2022-01-23 |
提前致谢
你可以使用 lubridate
library(lubridate)
library(dplyr)
d %>% filter(month(date)<2 | (month(date)==2 & day(date)<=15))
输出:
id date
1 1 2018-02-13
2 3 2014-01-23
3 5 2022-01-23
这是一个基本的 R 选项。使用 format
检查 month/year 是否在 1 月 1 日和 2 月 15 日之间。
df[between(format(df$date, "%m%d"), "0101", "0215"),]
输出
id date
1 1 2018-02-13
3 3 2014-01-23
5 5 2022-01-23