我正在尝试找到一个将整数转换为字符串的函数,以便我可以在启动Date对象时使用它。
> v = c(20081101)
> date <- as.Date(v, format("%Y%m%d"))
charToDate(x)出错:字符串不在标准中 明确的格式
我找到了paste()
的解决方案,但我想知道进行转换的正确方法是什么。
> date <- as.Date(paste(v), format("%Y%m%d"))
> date
[1] "2008-11-01"
答案 0 :(得分:50)
as.character()
将是一般方式,而不是使用paste()
来产生副作用
> v <- 20081101
> date <- as.Date(as.character(v), format = "%Y%m%d")
> date
[1] "2008-11-01"
(我认为这是一个简单的例子,如下所示:
v <- "20081101"
是不可能的?)
答案 1 :(得分:17)
获得相同结果的另一种方法:
date <- strptime(v,format="%Y%m%d")
答案 2 :(得分:1)
您可以使用ymd
中的lubridate
lubridate::ymd(v)
#[1] "2008-11-01"
或anytime::anydate
anytime::anydate(v)
#[1] "2008-11-01"