在R中转换正确的日期格式

Convert correct date format in R

这是我的行数据的样子:

            Extraction   BORN
1             30/06/06  31/01/48
2             30/06/06  20/05/74
3             30/06/06  20/02/49
4             30/06/06  06/07/53
5             30/06/06  26/05/63
6             30/06/06  20/05/74

我想用as.Date函数来转换日期格式。例如,我想把 30/06/06 改成 2006-06-30,31/01/48 改成 1948/01/31 所以我的代码是:

data$Extraction<-as.Date(data$Extraction, "%d/%m/%y")

data$BORN<-as.Date(data$BORN, "%d/%m/%y")

但结果都变成了NA。有谁知道如何解决这个问题吗?

由于变量是因素,这应该有效:

data$Extraction<-as.Date(as.character(data$Extraction), "%d/%m/%y")

data$BORN<-as.Date(as.character(data$BORN), "%d/%m/%y")

编辑:

我试过了,但你的代码应该也适用于因素。

> x <- data.frame(date = as.factor("30/06/06"))
> x
      date
1 30/06/06
> as.Date(x$date, "%d/%m/%y")
[1] "2006-06-30"
> as.Date(as.character(x$date), "%d/%m/%y")
[1] "2006-06-30"