使用R
有大量的临床健康数据可供使用,但日期很奇怪
最有问题的是2digityear/halfyear
,例如98/2
,这意味着在1998
之后的July 1
中的某个点
我已将该列分为2个字符列,例如98
和2
,但现在需要将2
位的年份字符串转换为实际年份。
我尝试了as.Date(data$variable,format="%Y")
,但不仅获得了0098
而不是1998
的转换,而且还任意增加了今天的月份和年份(实际数据没有月或日)。
如0098-06-11
我怎么只得到1998年呢?
答案 0 :(得分: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")