r语言 - '作为.Date()' 以短格式(例如 01/10/68)将年份标识为“2068-10-01”而不是“1968-



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

我正在使用lubridate包来查找年龄。由于错误识别的年份,一些年龄是负面的。

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

也许可以尝试一下

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

无论如何,您可能需要使用 %Y 咬紧牙关并创建一个具有完整年份的新 df,否则当 19xx 过渡到 20xx 时,您将被搞砸。

祝你好运。

最新更新