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

时间:2018-08-04 08:37:35

标签: r as.date

这是我的行数据的样子:

            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函数转换日期格式。例如,我想将2006年6月30日更改为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。有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

由于变量是因素,因此应该可以:

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"