在 R 中将整列从字符转换为日期 class

Convert an entire column from character to date class in R

我正在使用这个 dataset,我希望将 ArrestDate 列从字符转换为日期,以便我可以使用日期进行分析。

我第一次尝试使用 mutate:

Date <- mutate(crime, ArrestDate = as.Date(ArrestDate, format= "%d.%m.%Y"))

然而,当我这样做时,整个 ArrestDate 列都更改为 NAs。

其次,我尝试使用 strptime,但出于某种原因,它可以将一些日期很好地转换为 NA:

Date <-strptime(paste(crime$ArrestDate, sep=" "),"%d/%m/%Y")
crime2 <- cbind(Date, crime)

谁能告诉我我做错了什么或者为此提供更好的方法? 谢谢

lubridate 包提供了一些非常有用的函数来将字符串转换为日期。在这种情况下,您可以使用 mdy(),因为格式为“%m/%d/%y”(可以从第一条记录“12/31/2019”导出)。

library(dplyr)
library(lubridate)

crime %>% 
  mutate(ArrestDate = mdy(ArrestDate))

替换“.”带有 '/' 的作品来自您的第一个示例,格式为:

Date <- mutate(crime, ArrestDate = as.Date(ArrestDate, format= "%m/%d/%Y"))
class(Date$ArrestDate)
[1] "Date"