Один из вариантов - использовать difftime
из базы R. Добавьте «01» к stop
и start
date для создания фактического объекта Date и вычтите эти даты, используя difftime
с единицей измерения "weeks"
и разделивэто по количеству недель в году, чтобы получить разницу во времени в году,
round(difftime(as.Date(paste0("01/", data$stop), "%d/%m/%Y"),
as.Date(paste0("01/", data$start), "%d/%m/%Y"), units = "weeks")/52.2857, 2)
#[1] 1.0 2.5 NA
Мы можем сделать то же самое, используя любой другой компонент единицы difftime
, если мы знаем эквивалентный коэффициент преобразования года, как, например,с "days"
round(difftime(as.Date(paste0("01/", data$stop), "%d/%m/%Y"),
as.Date(paste0("01/", data$start), "%d/%m/%Y"), units = "days")/365.25, 2)
#[1] 1.0 2.5 NA