从R中的日期时间中提取日期的最快方法

phi*_*l_t 12 datetime r date

我有一个日期为格式的字符列10/17/2017 12:00:00 AM.我想只保留日期部分即2017-10-17.我在用 -

df$ReportDate = as.Date(df$ReportDate, format = "%m/%d/%Y %I:%M:%S %p") 
df$ReportDate = as.Date(format(df$ReportDate, "%Y-%m-%d"))
Run Code Online (Sandbox Code Playgroud)

这是有效的,但数据框有超过500万行,所以这需要接近两分钟.

  user  system elapsed 
104.73    0.55  105.46 
Run Code Online (Sandbox Code Playgroud)

有没有更快,更有效的方法来做到这一点?

G. *_*eck 10

请注意,as.Date该日期之后将忽略垃圾,因此在我使用的不是特别快的笔记本电脑上,此过程不到10秒:

xx <- rep("10/17/2017 12:00:00 AM", 5000000) # test input
system.time(as.Date(xx, "%m/%d/%Y"))
## user  system elapsed 
## 9.57    0.20    9.82 
Run Code Online (Sandbox Code Playgroud)