r-如何将一列字符更改为日期形式



我目前有这样的数据:数据

我希望将"日期"列更改为日期类型。(它现在符合性格(。

我试过下面的代码,但结果是"NA"。

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"

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

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

最新更新