假设我将R中的以下日期从字符转换为简单日期格式。
character_date <- "19-Jan-44"
date <- as.Date(strptime(x = as.character(character_date), format= "%d-%b-%y"))
> date
[1] "2044-01-19"
R假定它是2044,而不是1944(这是理想值),我如何告诉R实际上是哪一年?
非常感谢!
我们可以创建一个函数来做到这一点
library(lubridate)
f1 <- function(x, year=1970){
x <- dmy(x)
m <- year(x) %% 100
year(x) <- ifelse(m > year %% 100, 2000+m, 1900+m)
x
}
f1(character_date)
#[1] "1944-01-19"
如果这始终19
作为年份的前缀
dmy(sub("-(\\d+)", "-19\\1", character_date))
#[1] "1944-01-19"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句