Convert the "RefDateTimeRef" column to POSIXct , extract the "minute", "second" using format and compare it with 00:00 to return the logical vector that we use for a subset of the rows.
df1[format(as.POSIXct(df1[,1], format = "%m/%d/%Y %H:%M"), "%M:%S")=="00:00",]
Or using lubridate
library(lubridate) df1[ minute(mdy_hm(df1[,1]))==0,]
Or using sub to remove the substring until part of the hour, and then use == to get the logical vector and a subset of the strings.
df1[ sub(".*\\s+\\S{2}:", "", df1[,1])=="00",]
NOTE. I would recommend using sub or substr , as this can sometimes lead to incorrect answers.
akrun source share