Мы можем использовать first
в dplyr
df1 %>%
group_by(ID) %>%
mutate(NEW_DATE = first(DATE))
или другой вариант в duplicated
df1$NEW_DATE <- df1$DATE[!duplicated(df1$ID)][cumsum(!duplicated(df1$ID))]
data
df1 <- structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L), DATE = structure(c(1L,
3L, 6L, 4L, 5L, 2L), .Label = c("01-01-20", "01-05-20", "15-01-20",
"15-03-20", "20-04-20", "24-02-20"), class = "factor"), NUMBER = c(1L,
2L, 3L, 1L, 2L, 3L)), class = "data.frame", row.names = c(NA,
-6L))