我有一个 R 数据框,其中有一列包含多种格式的日期。我想将此列转换为日期格式。
虽然某些格式已转换,但其他格式则没有。为什么第二个日期没有转换?如何纠正?
代码和结果:
> slno <- c(1,2)
> Date <- c('22-04-2015', '4/8/2015')
>
> df_data <- as.data.frame(cbind(slno,Date))
> df_data
slno Date
1 1 22-04-2015
2 2 4/8/2015
>
> date_formats <- c('%m/%d/%Y', '%d-%m-%Y')
>
> #df_data$Date <- mdy_hm(df_data$Date)
> df_data$Date <- as.Date(as.character(df_data$Date), tryFormats = date_formats, optional = F)
>
> df_data
slno Date
1 1 2015-04-22
2 2 <NA>
> str(df_data)
'data.frame': 2 obs. of 2 variables:
$ slno: chr "1" "2"
$ Date: Date, format: "2015-04-22" ...
>