我在若干案件中看出,虽然read.table()
是无法读取制表符分隔的文件(例如微阵列的注释表)返回以下错误:read.csv函数read.table与
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line xxx did not have yyy elements
read.csv()
完美地在同一个文件中完美无误地工作。我认为read.csv()
的速度也高于read.table()
。
甚至更多:read.table()
正在阅读我的一个文件非常疯狂。它会在读取第100行时出现此错误,但是当我在同一个文件的头部之后复制并粘贴第90行到第110行时,它仍会使行100 + 21(在开始时复制新行)出错。如果该行出现任何问题,为什么不在开始时读取粘贴的行时报告错误?我确认read.csv()
读取的文件没有错误。
你知道为什么read.table()
无法读取与read.csv()
相同的文件吗?在任何情况下,是否有任何理由使用read.table()
?
又读内存使用情况下'read.table()'的帮助页面为什么它对于大文件可能显得很慢。 – Chase
我们无法回答您的(更新)问题,但没有可重复的示例。最常见的读取问题是(1)未检测到注释字符,(2)不匹配的引号,(3)当fill = TRUE时,文件的前5行后每行的字段数发生变化。因为'read.csv'和'read.table'对'comment','quote'和'fill'有不同的默认值,所以这些都可能是问题。 –
PS有8个'comment' /'quote' /'fill'的组合:你可以尝试所有这些组合,看看结果如何不同 - 这可能会导致你的答案。 'count.fields()'也可以用于诊断。 –