字符 2 位数字年份仅转换为年份
Character 2 digit year conversion to year only
使用 R
有大量临床健康数据集可供使用,但日期很奇怪
最有问题的是 2digityear/halfyear
,如 98/2
,意思是 1998
在 July 1
之后的某个时间点
我已将该列拆分为 2 个字符列,例如98
和 2
但现在需要将 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")
使用 R
有大量临床健康数据集可供使用,但日期很奇怪
最有问题的是 2digityear/halfyear
,如 98/2
,意思是 1998
在 July 1
我已将该列拆分为 2 个字符列,例如98
和 2
但现在需要将 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")