我的write.csv
功能有问题。
我在外部csv文件中有一个DB,我通过read.csv2
函数加载到R中。然后脚本执行一些规范化,之后,我通过write.csv2
编写数据库。
参赛作品数量为24500。
将规范化数据库加载到另一个脚本中(再次通过read.csv2
),结果只有23700个条目。同时,在Excel中,我可以看到所有24500个条目。 从Excel重新保存,并通过read.csv2
在R中重新加载,结果正确(24500个条目)。
我想在尝试保存数据库时出错。
脚本草图:
#SCRIPT 1
DB <- read.csv2("DB.csv", header = TRUE,
na.strings = c("MISSING_VALUE", "", " ", "NA", "#DIV/0!"),
stringsAsFactors = FALSE) #24577 entries
#normalization
write.csv2(DB, "DB.csv", quote = FALSE, row.names = FALSE) #data.frame DB contains 24577 entries
#SCRIPT 2
DB <- read.csv2("DB.csv", na.strings = "NA", stringsAsFactors = FALSE) #23787 entries
我还尝试了fwrite
库中的data.table
函数,但结果是一样的。
非常感谢你!
答案 0 :(得分:0)
至少需要使用comment.char =&#34;&#34;来抑制注释字符处理。因为&#34; #DIV / 0的价值!&#34; 。 octothorpe是默认的R&#34; comment.char&#34;。我已经详细解释了这一点以及如何使用count.fields的其他提示:R Programming: read.csv() skips lines unexpectedly