R 自动分析器无效%%A

R 自动分析器无效%%A,r,R,谁能告诉我R中的这个命令有什么问题吗 我真的尝试了一切: d0 <- "domingo 04 febrero 2018" parse_date(d0, "%A %d %B %Y", locale = locale("es")) d0我认为问题在于parse_date函数中没有定义“%A”格式规范 d0 <- "04 febrero 2018" parse_date(d0, "%d %B %Y", locale = locale("es")) [1] "2018-02-04" d

谁能告诉我R中的这个命令有什么问题吗

我真的尝试了一切:

d0 <- "domingo 04 febrero 2018"

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

d0我认为问题在于parse_date函数中没有定义“%A”格式规范

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

d0根据
ISO8601
规范,
%A
是有效的格式

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

但是我们在
baser
本身中有一个替代解决方案。让我举几个例子:

# %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"
#%A受支持为基本r
>as.character(Sys.Date(),%A%d%B%Y)
[1] “2018年2月4日星期日”
#现在尝试分析最新的字符串
>as.POSIXct(“2018年2月4日星期日”,格式=“%A%d%B%Y”)
[1] “2018-02-04格林尼治标准时间”
#让我们从OP执行相同的代码(转换为英语)

d0您使用的是哪种包装?仅使用tidyverse。我对这方面真的很陌生。也许我需要一个额外的包。它是
parse_date
函数的限制。您可以改为使用
as.POSIXct
函数。我添加了一个带有详细说明的答案。
%A
是符合规范的有效格式。
strtime
帮助下提供的详细信息,但
parse_date
函数不支持此格式。它也作为
parse_date
限制的一部分被记录下来。非常感谢!这是非常有用的