字符 2 位数字年份仅转换为年份

Character 2 digit year conversion to year only

使用 R

有大量临床健康数据集可供使用,但日期很奇怪

最有问题的是 2digityear/halfyear,如 98/2,意思是 1998July 1

之后的某个时间点

我已将该列拆分为 2 个字符列,例如982 但现在需要将 2 数字年份字符串转换为实际年份。

我尝试了 as.Date(data$variable,format="%Y") 但我不仅得到了 0098 作为年份而不是 1998 的转换,我还任意添加了今天的月份和年份(实际数据没有月或日)。

0098-06-11

如何只获取 1998?

不优雅。但是结合使用 lubridate 和 as.Date 你可以得到它。

library(lubridate)
data <- data.frame(variable = c(95, 96, 97,98,99), date=c(1,2,3,4,5))
data$variableUpdated <- year(as.Date(as.character(data$variable), format="%y"))

且仅使用基数 R

data$variableUpdated <- format(as.Date(as.character(data$variable), format="%y"),"%Y")