如何将一列字符变成日期形式?

How to change a column of characters into date form?

我目前有这样的数据: data

我想将 'date' 列更改为日期类型。 (现在是字符)。

我试过下面的代码,但它给了我 'NA' 作为 result。

as.Date(data$Date, format = "%a %d-%m-%Y %I:%M %p")

我在格式化日期以适应我的数据格式时是否犯了错误?

很遗憾,我们没有您的数据(我们有您数据的 图片 ,但唯一的使用方法是手动转录 - 最好包含数据作为问题中的文本)。

无论如何,使用相同格式的简短示例:

dates <- c("Wed 25-Apr-2018 3:20 PM", "Thu 10-Mar-2022 10:53 AM")

我们可以通过以下方式获取日期:

as.Date(dates, "%a %d-%b-%Y %I:%M %p")
#> [1] "2018-04-25" "2022-03-10"

请注意,这不会保留时间,为此您可能需要使用 R 的内置 date-time 格式,POSIXct。我们可以通过以下方式获得:

strptime(dates, "%a %d-%b-%Y %I:%M %p")
#> [1] "2018-04-25 15:20:00 BST" "2022-03-10 10:53:00 GMT"

我认为主要问题是您使用 %m 作为月份,但这只会以十进制数字格式解析月份。您需要 %b 个月 text-abbreviations 个月。