I have a dataframe and I want to filter only rows that corresponds to the earliest datetime. The following is my dataframe:
library(lubridate)
df<-data.frame(ID=rep(1:2,5:6),DATETIME_OF_PROCEDURE=rep(c(ymd_hms("2013-03-16 03:00:42"),
ymd_hms("2013-02-12 08:00:42"),
ymd_hms("2014-06-19 01:00:42"),
ymd_hms("2014-01-22 01:00:42"),
ymd_hms("2014-06-12 02:00:40")),
c(3,2,2,2,2)))
I would like to get:
# > df
# ID DATETIME_OF_PROCEDURE
# 1 1 2013-02-12 16:00:42
# 2 1 2013-02-12 16:00:42
# 3 2 2014-01-22 09:00:42
# 4 2 2014-01-22 09:00:42
I tried the following but it gives an empty dataframe.
df %>%
arrange(DATETIME_OF_PROCEDURE) %>%
group_by(ID) %>%
slice(min(DATETIME_OF_PROCEDURE))
I also tried slice(first(DATETIME_OF_PROCEDURE))
but again, it wouldn't work.