Вы близки, но пропускаете мелкие детали.Второй аргумент в as.Date
требует, чтобы вы указали точно , в каком формате ваши даты.Прямо сейчас вы говорите, что ваша дата состоит из 15/08/1947.Две вещи не так с этим.Ваша дата не имеет косой черты, и месяц является не целым числом, а сокращением названия месяца.Правильный способ синтаксического анализа этой даты:
> ps <- "%d%b%Y"
> DATE1 <- c("15Aug1947")
> DATE2 <- c("15Aug2018")
> X <- as.Date(DATE1, ps) - as.Date(DATE2 , ps)
>
> print(X)
Time difference of -25933 days
Для получения дополнительной информации о том, как создать строку для синтаксического анализа, см. ?strptime
.
. Вы можете использовать пакет для автоматического анализа датнапример lubridate .