我有一个数据框,其中有两列日期和日期,我想添加带日期的日期列,并在另一列中显示结果 数据帧1 列日期采用mm / dd / yyyy格式
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
但我认为它将适用于单个值
答案 0 :(得分:1)
转换为实际的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)
来完成
{{1}}