无效%%自动解析器

时间:2018-02-04 17:08:18

标签: r

有人可以告诉我R中这个命令有什么问题吗?

我确实尝试了一切:

d0 <- "domingo 04 febrero 2018"

parse_date(d0, "%A %d %B %Y", locale = locale("es"))

当我执行上面的代码时,出现错误

  

“无效%%自动解析器”

2 个答案:

答案 0 :(得分:2)

我认为问题在于&#34;%A&#34;格式规范未在parse_date函数中定义。

d0 <- "04 febrero 2018"
parse_date(d0, "%d %B %Y", locale = locale("es"))
[1] "2018-02-04"

答案 1 :(得分:1)

%A是每ISO8601规范的有效格式。

实际问题是parse_date(来自readr包的函数)不支持所有ISO8601规范。缺少的功能包括WeekWeekday规范。

但我们在base r本身有一个替代解决方案。我举几个例子:

# %A is supported is base r
> as.character(Sys.Date(), "%A %d %B %Y")
[1] "Sunday 04 February 2018"

# Try to parse character string to date now
> as.POSIXct("Sunday 04 February 2018", format = "%A %d %B %Y")
[1] "2018-02-04 GMT"

# Lets execute the same code (converted to English) from OP
d0 <- "Sunday 04 February 2018"
as.POSIXct(d0, format = "%A %d %B %Y", tz = "GMT")

# Result :
[1] "2018-02-04 GMT"