as.Date()将简写形式的年份(例如01/10/68)标识为2068-10-01而不是1968-10-01,如何解决?

时间:2019-04-14 06:32:23

标签: r date data-science data-analysis as.date

我有一个csv数据集,其出生日期存储为字符,格式为01-06-68"%d-%m-%y")。我尝试使用Date将日期转换为as.Date()对象,但实际上将年份标识为2068时将年份标识为1968。我了解Date从R中的1970-01-01开始,对此有一个简单的解决方法吗?

我正在使用lubridate包来查找年龄。 由于年龄错误,某些年龄为阴性。

elapsed <- train$Date.of.Birth %--% Sys.Date()
train$age <- floor(as.duration(elapsed) / dyears(1))

1 个答案:

答案 0 :(得分:0)

也许尝试

format(as.Date(date,format="%d-%m-%y"), "19%y-%m-%d")

您可能仍然需要使用%Y来咬住子弹并创建完整年份的新df,否则当19xx过渡到20xx时您就被搞砸了。

祝你好运。