Мы можем paste
с днем и использовать as.Date
df$month <- as.Date(paste0(df$month, "-01"), "%Y-%m-%d")
Или другой вариант - преобразовать в класс yearmon
, а затем использовать as.Date
library(zoo)
df$month <- as.Date(as.yearmon(df$month))
Обновление
Если цель состоит в том, чтобы left_join с другим набором данных, где столбец 'ym' не имеет 0
после -
, мы можем вставить это вместо изменения формата по первым данным
df2$ym <- sub("-(\\d)$", "-0\\1", df2$ym)