我在若干案件中看出,雖然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()'也可以用於診斷。 –