【发布时间】:2018-05-12 17:19:50
【问题描述】:
我有一个大的 csv,我正在用 fread 阅读。直到最近,na 字符串可能包括“F”我更新到最新版本,这不再被允许。如何处理数字字段中带有 F 的记录?这在加拿大统计局的数据中很常见。使用带有数据表版本 1.11.2 的 r 3.5 发现问题。数据表版本 1.10.4.3 不反对 NA 字符串中的“F”。
这是一个示例文件
2010/01,纽芬兰和拉布拉多,,二手车经销商,”未调整 (x 1,000)”,v52367418,2.5.1,F 2010/02,纽芬兰和拉布拉多,,二手车经销商,”未调整 (x 1,000)”,v52367418,2.5.1,F 2010/03,纽芬兰和拉布拉多,,二手车经销商,”未调整 (x 1,000)”,v52367418,2.5.1,F 2010/04,纽芬兰和拉布拉多,,二手车经销商,”未调整 (x 1,000)”,v52367418,2.5.1,F 2010/05,纽芬兰和拉布拉多,,二手车经销商,”未调整 (x 1,000)”,v52367418,2.5.1,11466.0
当我尝试对该文件使用 fread() 函数时,我收到以下错误:
library(data.table)
dt <- fread("data.csv", na.strings=c('F'))
#Error in fread("data.csv", na.strings = c("F")) :
# freadMain: NAstring <<F>> is recognized as type boolean, this is not permitted.
【问题讨论】:
-
我认为制作minimal reproducible example 的任务相当简单,但这是您的责任,而不是我们的责任。
-
您能否将此作为问题提交到GitHub page?您应该参考此 SO Q&A 并包含运行
fread和verbose = TRUE的输出。仅供参考,这个出色的 FR 会自动解决您的问题,但尚未实施:github.com/Rdatatable/data.table/issues/2100
标签: r data.table fread