добавление двух столбцов данных, где col1 содержит дату, а col2 содержит дни - PullRequest
0 голосов
/ 05 марта 2019

У меня есть фрейм данных, в котором у меня есть два столбца даты и дня, и я хочу добавить столбец даты с днями и показать результат в другом столбце данных. 1-й столбец даты представлен в формате мм / дд / гггг

date        days
3/2/2019    8
3/5/2019    4
3/6/2019    4
3/21/2019   3
3/25/2019   7

и я хочу, чтобы мой вывод был таким

date        days    new-date
3/2/2019    8       3/10/2019
3/5/2019    4       3/9/2019
3/6/2019    4       3/10/2019
3/21/2019   3       3/24/2019
3/25/2019   7       4/1/2019

Я пытался это

as.Date("3/10/2019") +8

, но я думаю, что он будет работать для одного значения

1 Ответ

0 голосов
/ 05 марта 2019

Преобразовать в фактические Date значения, а затем добавить Days.Вам необходимо указать фактический формат date (прочитайте ?strptime) при преобразовании его в дату.

as.Date(df$date, "%m/%d/%Y") + df$days
#[1] "2019-03-10" "2019-03-09" "2019-03-10" "2019-03-24" "2019-04-01"

Если вы хотите вернуть результат в том же формате, мы можем использовать format

df$new_date <- format(as.Date(df$date, "%m/%d/%Y") + df$days, "%m/%d/%Y")

df
#       date days   new_date
#1  3/2/2019    8 03/10/2019
#2  3/5/2019    4 03/09/2019
#3  3/6/2019    4 03/10/2019
#4 3/21/2019    3 03/24/2019
#5 3/25/2019    7 04/01/2019

Если вы запутались с другим форматом даты, мы можем использовать lubridate, чтобы сделать

library(lubridate)
with(df, mdy(date) + days)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...