【问题标题】:adding two column of a data where col1 contains date and col2 contains days添加两列数据,其中 col1 包含日期,col2 包含天数
【发布时间】:2019-03-05 07:44:52
【问题描述】:

我有一个数据框,其中有两列日期和天数,我想在日期列中添加天数并在其他列中显示结果 数据帧-1 col 日期格式为 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

但我认为它适用于单个值

【问题讨论】:

    标签: r


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2021-09-24
      • 1970-01-01
      相关资源
      最近更新 更多