将因子变量转换为日期

时间:2016-05-24 08:03:45

标签: r date

假设我在数据框z中有一个变量为x,这是一个因子,但我希望它转换为日期。

x <- factor(c("17.05.2016","19.05.2016","42472","42481"))
y <- 1:4
z <- data.frame(x,y)
z

我尝试使用以下代码,但我得到的结果部分正确。请你帮我解决这个问题。

z$x1 = tryCatch({
z$x = as.Date(z$x ,origin = "1899-12-30")
},error = function(e){
z$x =as.Date(z$x, "%d.%M.%Y")
})
z

1 个答案:

答案 0 :(得分:2)

它有效,但它不是一个trycatch

z$x1 <- as.Date(z$x, format="%d.%m.%Y")
z$x1[is.na(z$x1)] <- as.Date(as.numeric(as.character(z$x[is.na(z$x1)])) ,origin = "1899-12-30")