【问题标题】:Calculate date of birth given age根据年龄计算出生日期
【发布时间】:2019-12-29 07:23:23
【问题描述】:

我有下面的数据。

ID  = 201
Age = 40

如何使用此信息和Sys.Date() 函数计算出生日期?!

【问题讨论】:

    标签: r date


    【解决方案1】:

    我们可以使用当前系统日期创建POSIXlt 日期,将其减去Age 中的年数,然后转换回R 日期:

    d <- as.POSIXlt(Sys.Date())
    age <- 40
    d$year <- d$year - age
    as.Date(d)
    
    [1] "1979-12-29"
    

    当然,这意味着每个人的生日似乎都是今天,但也许这不是您要解决的练习的重点。

    【讨论】:

      【解决方案2】:

      使用包lubridate,你可以像下面这样

      library(lubridate)
      age <- 40
      birth <- ymd(Sys.Date()) - years(age)
      

      这样

      > birth
      [1] "1979-12-29"
      

      【讨论】:

        猜你喜欢
        • 2013-10-31
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多