簡體   English   中英

刪除包含特定小時:分鍾的日期的所有行

[英]Remove all rows with dates containing specific hour:minute

我有一個數據框,其中的列包含%d/%m/%Y %H:%M格式的日期,並希望刪除包含時間12:00日期的所有行,而不管月,日和年。 對於名為df的數據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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM