【发布时间】:2014-10-02 15:02:31
【问题描述】:
我有一个要导入 R 的 .csv 文件,它有超过 1K 的观察值。但是,当我像往常一样使用 read.csv 函数时,导入的文件只有 21 个观察值。这很奇怪。我以前从未见过这种情况。
t <- read.csv("E:\\AH1_09182014.CSV",header=T, colClasses=c(rep("character",3),rep("numeric",22)),na.string=c("null","NaN",""),stringsAsFactors=FALSE)
谁能帮我解决问题?我正在提供指向我的数据文件的链接:
https://drive.google.com/file/d/0B86_a8ltyoL3TzBza0x1VTd2OTQ/edit?usp=sharing
【问题讨论】:
-
看第22行——有什么奇怪的地方吗?
-
@AnandaMahto 似乎第 22 行的值很乱...... R 不能将其强制转换为 NA 值吗?
-
文件中似乎还有很多其他行也会导致问题。您可以使用
data.table包中的fread来读取整个文件。由于分散在第 4 到 25 列中的非数字值,所有列都将被强制转换为character,但您至少会拥有整个文件,您可以从那里相应地手动清理它。 -
试试
read.csv(text = sReadLines("yourcsvfile"), your_other_arguments_to_read.csv),其中sReadLines来自:stackoverflow.com/a/15876643/1270695。让我知道这是否有效。 -
@AnandaMahto 扫描错误(文件、内容、nmax、sep、dec、quote、skip、nlines、na.strings、:scan() 预期为 'a real',得到 '26)'
标签: r csv import-from-csv