as.Date returns 日期格式

as.Date returns NA date format

我的日期格式是“Sat 12 Sep”作为字符。 我想在名为 DATE 的新列中将其转换为日期格式。

mutate(DATE = (as.Date(FECHA, "%a %d %b")))

但是 returns NA

 X      FECHA        LOCAL       RESULT   VISITANTE       DATE      
 <int>  <chr>        <fct>       <fct>    <fct>           <date>    
 1      3 **Sat 12 Sep** Eibar   0 - 0    Celta Vigo      NA        
 2      4 Sat 12 Sep Granada     2 - 0    Athletic Bilbao NA 

谢谢

我建议查看 lubridate 包。它会自动添加 2020 作为年份(如果这不是你想要的,请小心)。

看看这是否适合你:

library(lubridate)

x <- "Sat 12 Sep"

parse_date_time(x, "%a %d %b", locale = "UK")
[1] "2020-09-12 UTC"

这是一个解决方案,使用 basedata.frame 作为示例数据,as.DateFECHA 变量从 character 转换为 date.

代码:

Sys.setlocale("LC_TIME", "English")

df <- data.frame(X = as.integer(c(3, 4)),
                 FECHA = as.character(c("Sat 12 Sep", "Sat 12 Sep")),
                 LOCAL = as.factor(c("Eibar", "Granada")),
                 RESULT = as.factor(c("0 - 0", "2 - 0")),
                 VISITANTE = as.factor(c("Celta Vido", "Athletic Bilbao")),
                 DATE = as.Date(c(NA, NA)))

df$DATE <- as.Date(df$FECHA, format = "%a %d %B")

输出:

#>   X      FECHA   LOCAL RESULT       VISITANTE       DATE
#> 1 3 Sat 12 Sep   Eibar  0 - 0      Celta Vido 2020-09-12
#> 2 4 Sat 12 Sep Granada  2 - 0 Athletic Bilbao 2020-09-12

reprex package (v0.3.0)

于 2020-10-19 创建

原始输出:

#>   X      FECHA   LOCAL RESULT       VISITANTE DATE
#> 1 3 Sat 12 Sep   Eibar  0 - 0      Celta Vido <NA>
#> 2 4 Sat 12 Sep Granada  2 - 0 Athletic Bilbao <NA>

reprex package (v0.3.0)

于 2020-10-19 创建