as.Date返回NA日期格式

问题描述

我的日期格式为“ 9月12日星期六”。 我想在名为DATE的新列中将其转换为Date格式。

<div class="container">

  <div class="Box"></div>
  <div class="Box"></div>
  <div class="Box"></div>

</div>

但返回NA

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

谢谢

解决方法

我建议您查看润滑包装。它将自动将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转换为{{1} }。

代码:

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")

reprex package(v0.3.0)于2020-10-19创建

原始输出:

#>   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创建