假设我在数据框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
答案 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")