【问题标题】:R: How to calculate the difference in years between a date and a yearR:如何计算日期和年份之间的年差
【发布时间】:2017-06-27 14:44:48
【问题描述】:

有没有一种快速的方法来计算两者之间的年差 a) 日期 (data$First.Trading.Day) 例如。 “2016-02-09”和 b) 一年(data$Founding.Year)例如“1999”

我已经做了以下,但没有得到正确的结果:

data$Age <- difftime(data$First.Trading.Day, data$Founding.Year, "years")

然后我创建了一个只有第一个交易日的年份的新列并尝试了这个:

data$First.Trading.Year <- format(as.Date(data$First.Trading.Day),"%Y")
data$Age <- (data$First.Trading.Year) - (data$Founding.Year)

这给了我一个错误信息

非常感谢您的帮助!

【问题讨论】:

  • 在获得不同之前添加as.numeric

标签: r date calculation


【解决方案1】:

润滑解决方案:

libray(lubridate)

date <- ymd("2016-02-09", "2012-05-19")
years_diff <- year(date) - 1999

# 17 13

【讨论】:

    【解决方案2】:
    A=c('2017-01-01','2015-01-01')
    B=c('2016-01-01','2014-01-01')
    data=data.frame(A)
    data$B=B
    data$A <- format(as.Date(data$A),"%Y")
    data$B <- format(as.Date(data$B),"%Y")
    data$Age <- as.numeric(data$A) - as.numeric(data$B)
    data
         A    B Age
    1 2017 2016   1
    2 2015 2014   1
    

    您的代码错误:Error in (data$A) - (data$B) : non-numeric argument to binary operator

    【讨论】:

      猜你喜欢
      • 2020-03-26
      • 1970-01-01
      • 2020-02-02
      • 2014-12-03
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多