0

使用 R

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

最有问题的是2digityear/halfyear,如,在之后98/2的某个时间点的意思1998July 1

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

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

如在0098-06-11

我怎么才能得到 1998 呢?

4

1 回答 1

1

不优雅。但是使用 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")
于 2019-06-11T05:09:05.197 回答