【发布时间】:2019-05-09 06:02:03
【问题描述】:
我在 mm/dd/yyyy 中有一列日期,我正在尝试使用 dmy() 将它们转换并以 ISO 格式存储在新列中。它适用于前 15k 行,但随后停止适用于文件的其余部分,并出现错误“警告消息:2786262 无法解析”。我查看了文件以查看它停止工作的位置,并注意到它在从 2014 年 4 月 12 日更改为 2014 年 4 月 13 日的行中停止工作。知道我在这里可能做错了什么吗?
uber14$DateISO <- dmy(uber14$Date)
警告信息: 2786262 解析失败。
uber14$DateISO <- format(lubridate::dmy(uber14$Date), "%b@%B")
警告信息: 2786262 解析失败。
uber14[15073,10]
[1] "2014-12-04"
uber14[15073,8]
[1] "4/12/2014"
uber14[15074,8]
[1] "4/12/2014"
uber14[15075,8]
[1] "4/13/2014"
uber14[15075,10]
[1] NA
uber14[15074,10]
[1] "2014-12-04"
dmy(uber14[15075,8])
[1] NA
【问题讨论】:
-
如果你有
mm/dd/yyyy格式的数据,使用mdy而不是dmy会有用吗 -
根据显示的示例,您似乎可能混合使用 d/m/y、m/d/y 和 y-m-d。
-
如果日期格式不同,一个选项是
parse_date_time或anytime::anydate -
@neilfws 对任何混淆感到抱歉,但第 8 列中的所有日期都是我想要转换为 ISO 的形式,我正在尝试将其记录到第 10 列。当我检查结果时,列10 在 4/12 之前表现正常,但在 4/13 之后突然停止工作(每天有数百行)。
-
在这种情况下,为什么你使用
dmy,因为我在第一条评论中是dd/mm/yyyy。相反,它应该是mdy
标签: r dataframe datetime parsing