查找无法在R Lubridate中解析的日期

Kor*_*las 4 r date lubridate

作为一个R新手,我正在试图调试神秘的R错误.我有一个包含150k行的csv,我加载到一个名为'date'的数据框中.然后我使用lubridate将此字符列转换为日期时间,以期找到最小/最大日期.

  dates <- csv[c('datetime')]
  dates$datetime <- ymd_hms(dates$datetime)
Run Code Online (Sandbox Code Playgroud)

运行此代码我收到以下错误消息:

Warning message:
3 failed to parse. 
Run Code Online (Sandbox Code Playgroud)

我接受这个,因为CSV可以在那里和下一次运行中有一些janky日期:

min(dates$datetime) 
max(dates$datetime)
Run Code Online (Sandbox Code Playgroud)

这两个都返回NA,我假设它来自仍然存储在数据帧中的少数破碎日期.我已经四处寻找快速解决方案,甚至试图建立一个foreach循环来确定问题日期,但没有运气.什么是识别3个破碎日期的简单方法?

example date format: 2015-06-17 17:10:16 +0000
Run Code Online (Sandbox Code Playgroud)

Kor*_*las 5

感谢LawyeR和Stibu从以上评论:

  1. 我首先对原始csv列进行了排序,并使用head()和tail()来查找哪3个日期导致了问题
  2. 或者which(is.na(dates$datetime))是一个简单的一个班轮也找到了答案.

  • 这很好,但并没有真正回答一般性问题.如果问题是你的数据中有'purpleElephant'字符怎么办?它不是NA,但仍然无法解析.我们仍然需要一些方法来查看Lubridate给出的警告. (11认同)
  • 但这仅能实现,因为这三个日期恰好是NA。我有一个93个日期/日期时间的向量,其中包含〜17个NA,并且正在“ 2个解析失败”。因此,此解决方案不能解决通用问题,而只能解决OP的问题。 (2认同)