read_csv() 解析失败 - 使用 problems() 无法揭示问题所在
read_csv() parsing failures - using problems() doesn't reveal what the issue is
我正在尝试读取一个数据集,该数据集中有一列包含日期。默认情况下,此列作为字符读入,但我希望它作为日期读入。
如果我使用 read_csv 使用默认值读入,列中的日期显示在 viewer:12/04/2019(即 dmy)
中
但是,当使用以下内容时,我遇到解析失败的问题:
data<- read_csv("file.csv",
col_types = cols(dob = col_date("%d-%m-%Y"))
Warning: 4160 parsing failures.
row col expected actual
1 dob date like %d-%m-%Y 12/04/2019
起初,我以为这是因为我在 col_date 中指定了连字符 (-)。但是如果我将连字符更改为正斜杠,我会得到同样的错误:
data<- read_csv("file.csv",
col_types = cols(dob = col_date("%d/%m/%Y"))
Warning: 4160 parsing failures.
row col expected actual
1 dob date like %d/%m/%Y 12-04-2019
使用 problems() 只是对此消息的扩展。我很难知道如何继续,因为我在 col_date() 中所做的任何更改似乎都无济于事。事实上,它随后报告(如上所示)在文件中发现了相反的格式。
编辑:尝试 Bernhard 的建议
我在专栏中阅读了字符和 运行 以下内容:
head(data$dob, 20)
[1] "12/04/20" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020"
[12] "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019"
在Bernhard的建议下,我发现输入的日期格式不一致,不同的行使用不同的分隔符。我通过将它们全部转换为相同的分隔符来解决此问题。
我正在尝试读取一个数据集,该数据集中有一列包含日期。默认情况下,此列作为字符读入,但我希望它作为日期读入。
如果我使用 read_csv 使用默认值读入,列中的日期显示在 viewer:12/04/2019(即 dmy)
中但是,当使用以下内容时,我遇到解析失败的问题:
data<- read_csv("file.csv",
col_types = cols(dob = col_date("%d-%m-%Y"))
Warning: 4160 parsing failures.
row col expected actual
1 dob date like %d-%m-%Y 12/04/2019
起初,我以为这是因为我在 col_date 中指定了连字符 (-)。但是如果我将连字符更改为正斜杠,我会得到同样的错误:
data<- read_csv("file.csv",
col_types = cols(dob = col_date("%d/%m/%Y"))
Warning: 4160 parsing failures.
row col expected actual
1 dob date like %d/%m/%Y 12-04-2019
使用 problems() 只是对此消息的扩展。我很难知道如何继续,因为我在 col_date() 中所做的任何更改似乎都无济于事。事实上,它随后报告(如上所示)在文件中发现了相反的格式。
编辑:尝试 Bernhard 的建议
我在专栏中阅读了字符和 运行 以下内容:
head(data$dob, 20)
[1] "12/04/20" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020" "20/04/2020"
[12] "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019" "12/04/2019"
在Bernhard的建议下,我发现输入的日期格式不一致,不同的行使用不同的分隔符。我通过将它们全部转换为相同的分隔符来解决此问题。