Как рассчитать дату начала по дате окончания и количеству дней

У меня есть столбец с датами окончания и еще один столбец с количеством дней. Я хочу рассчитать дату начала на основе этой информации.

Даты окончания: 15.07.2019; 10.06.2019
Количество дней: 10; 9 Я хочу рассчитать дату начала из приведенной выше информации в R.


person AKA    schedule 10.08.2019    source источник
comment
Привет @AKA! Добро пожаловать в стек! Можете ли вы опубликовать образец своих данных, используя dput(head(df)) (где df - это фактическое имя вашего фрейма данных? У вас уже есть два хороших ответа, IMHO, но ваши фактические данные тоже позволят протестировать. Кроме того, не забудьте прочитать раздел справочного центра Что мне делать, когда кто-то ответит на мой вопрос?. tl: dr - Если вы чувствуете Как и ответы, приведенные ниже, действительны (т.е. ответили на ваш вопрос), пожалуйста, проголосуйте за них и убедитесь, что вы также используете галочку рядом с тем, который, по вашему мнению, лучше всего отвечает на ваш вопрос.   -  person Russ Thomas    schedule 11.08.2019
comment
@AlessandroDaRugna Я не думаю, что это вполне обман того, поскольку в этом посте у них уже есть 2 даты, и нужно вычислить разницу между ними, а не вычитать некоторое количество дней из свидание   -  person camille    schedule 11.08.2019


Ответы (2)


Рассмотрим прямое вычитание с основанием R:

df <- within(df, {
     end_date <- as.Date(end_date, format="%m/%d/%Y")
     start_date <- end_date - num_of_days
})
person Parfait    schedule 10.08.2019

Пакет lubridate предоставляет функции для преобразования строк в Date (в данном случае mdy). Затем вы можете просто вычесть количество дней из конечной даты.

ed = c("7/15/2019", "6/10/2019")
n = c(10, 9)
lubridate::mdy(ed) - n
#[1] "2019-07-05" "2019-06-01"
person Telepresence    schedule 10.08.2019