删除日期包含特定 hour:minute 的所有行
Remove all rows with dates containing specific hour:minute
我有一个数据框,其中有一列包含 %d/%m/%Y %H:%M
格式的日期,我想删除所有日期包含时间 12:00
的行,而不考虑月、日和年。对于名为 df
且日期列名为 date
的数据框,我尝试了 运行 以下代码,但没有成功:
df <- df %>% filter(!grepl("12:00", date))
知道如何完成这个吗?
为了在下面的示例中更清楚,我将 tstamp 粘贴为字符串,然后对其进行解析。 (这些数据实际上是拍摄时钟上的分钟,但我们可以忽略这个例子,假装它们是小时和分钟)。
然后您使用hour(...) == 12
按小时提取和过滤,minute(...) == 0
按分钟提取和过滤。
library(dplyr)
library(lubridate)
lakers %>%
select(date, time, opponent, team, player) %>%
mutate(tstamp = paste(date, time),
tstamp.parsed = ymd_hm(tstamp)) %>%
filter(hour(tstamp.parsed) == 12, minute(tstamp.parsed) == 0) %>%
head
# A tibble: 6 x 7
date time opponent team player tstamp tstamp.parsed
<int> <chr> <chr> <chr> <chr> <chr> <dttm>
1 20081028 12:00 POR OFF 20081028 12:00 2008-10-28 12:00:00
2 20081029 12:00 LAC OFF 20081029 12:00 2008-10-29 12:00:00
3 20081101 12:00 DEN OFF 20081101 12:00 2008-11-01 12:00:00
4 20081105 12:00 LAC OFF 20081105 12:00 2008-11-05 12:00:00
5 20081109 12:00 HOU OFF 20081109 12:00 2008-11-09 12:00:00
6 20081111 12:00 DAL OFF 20081111 12:00 2008-11-11 12:00:00
我有一个数据框,其中有一列包含 %d/%m/%Y %H:%M
格式的日期,我想删除所有日期包含时间 12:00
的行,而不考虑月、日和年。对于名为 df
且日期列名为 date
的数据框,我尝试了 运行 以下代码,但没有成功:
df <- df %>% filter(!grepl("12:00", date))
知道如何完成这个吗?
为了在下面的示例中更清楚,我将 tstamp 粘贴为字符串,然后对其进行解析。 (这些数据实际上是拍摄时钟上的分钟,但我们可以忽略这个例子,假装它们是小时和分钟)。
然后您使用hour(...) == 12
按小时提取和过滤,minute(...) == 0
按分钟提取和过滤。
library(dplyr)
library(lubridate)
lakers %>%
select(date, time, opponent, team, player) %>%
mutate(tstamp = paste(date, time),
tstamp.parsed = ymd_hm(tstamp)) %>%
filter(hour(tstamp.parsed) == 12, minute(tstamp.parsed) == 0) %>%
head
# A tibble: 6 x 7 date time opponent team player tstamp tstamp.parsed <int> <chr> <chr> <chr> <chr> <chr> <dttm> 1 20081028 12:00 POR OFF 20081028 12:00 2008-10-28 12:00:00 2 20081029 12:00 LAC OFF 20081029 12:00 2008-10-29 12:00:00 3 20081101 12:00 DEN OFF 20081101 12:00 2008-11-01 12:00:00 4 20081105 12:00 LAC OFF 20081105 12:00 2008-11-05 12:00:00 5 20081109 12:00 HOU OFF 20081109 12:00 2008-11-09 12:00:00 6 20081111 12:00 DAL OFF 20081111 12:00 2008-11-11 12:00:00