有人可以告诉我R中这个命令有什么问题吗?
我确实尝试了一切:
d0 <- "domingo 04 febrero 2018"
parse_date(d0, "%A %d %B %Y", locale = locale("es"))
当我执行上面的代码时,出现错误
“无效%%自动解析器”
答案 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
规范。缺少的功能包括Week
和Weekday
规范。
但我们在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"