我有一个数据帧,它的星期几包含与D/M/Y相同的字段,我正试图将其转换为没有星期几的传统格式。数据帧格式如下:
Date: chr [1:9] "Tuesday 4 October 2022" "Wednesday 5 October 2022" "Thursday 6 October 2022"
我本想简单地使用将其转换为更可用的格式
as.Date(df&Date, format = ("%d/%m/%Y"))
但不幸的是,我遇到了错误:
Error in as.Date.default(x, ...) :
do not know how to convert 'x' to class “Date”
任何关于如何改变这一点的建议都将不胜感激。
我们可以使用parse_date
自动检测格式并转换为Datetime格式,后者通过as.Date
转换为Date
类
library(parsedate)
as.Date(parse_date(str1))
[1] "2022-10-04"
或者,如果我们想使用base R
,请使用正确的格式,即%A
-表示工作日,%d
-表示日期,%B
-表示月份名称,%Y
-表示4位年份
as.Date(str1, format = "%A %d %B %Y")
[1] "2022-10-04"
对于整个日期列
df$Date <- as.Date(parse_date(df$Date))
或
df$Date <- as.Date(df$Date, format = "%A %d %B %Y")
数据
str1 <- "Tuesday 4 October 2022"