Я бы предложил использовать встроенный strptime
# Data
dates <- c(20200509L, 20200601L, 20200505L, 20200610L, 20200612L, 20200529L)
strptime(dates, "%Y%m%d")
# [1] "2020-05-09 CEST" "2020-06-01 CEST" "2020-05-05 CEST"
# [4] "2020-06-10 CEST" "2020-06-12 CEST" "2020-05-29 CEST"
или в сочетании с as.Date
as.Date(strptime(dates, "%Y%m%d"))
# [1] "2020-05-09" "2020-06-01" "2020-05-05" "2020-06-10" "2020-06-12"
# [6] "2020-05-29"
PS Документация (c .f. ?strptime
) предоставляет много интересной информации для анализа даты.