我正在嘗試使用read.csv()讀取R(在linux下)的CSV文件。函數完成後,我發現在R中讀取的行數少於CSV文件中的行數(由wc -l獲取)。而且,每次我讀取特定的CSV文件時,總是會跳過相同的行。我檢查了CSV文件中的格式錯誤,但一切看起來不錯。R編程:read.csv()意外跳過線
但是,如果我將被跳過的行提取到另一個CSV文件中,則R能夠從該文件中讀取非常多的行。
我無法找到任何地方我的問題可能是什麼。任何幫助不勝感激。
我正在嘗試使用read.csv()讀取R(在linux下)的CSV文件。函數完成後,我發現在R中讀取的行數少於CSV文件中的行數(由wc -l獲取)。而且,每次我讀取特定的CSV文件時,總是會跳過相同的行。我檢查了CSV文件中的格式錯誤,但一切看起來不錯。R編程:read.csv()意外跳過線
但是,如果我將被跳過的行提取到另一個CSV文件中,則R能夠從該文件中讀取非常多的行。
我無法找到任何地方我的問題可能是什麼。任何幫助不勝感激。
下面是使用count.fields
來確定在哪裏查看和應用修復程序的示例。你有一個適度的行數是23「域」寬:
> table(count.fields("~/Downloads/bugs.csv", quote="", sep=","))
2 23 30
502 10 136532
> table(count.fields("~/Downloads/bugs.csv", sep=","))
# Just wanted to see if removing quote-recognition would help.... It didn't.
2 4 10 12 20 22 23 25 28 30
11308 24 20 33 642 251 10 2 170 124584
> which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23)
[1] 104843 125158 127876 129734 130988 131456 132515 133048 136764
[10] 136765
我看了看23:
txt <-readLines("~/Downloads/bugs.csv")[
which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23)]
而且他們有octothorpes(「#」,哈希標誌)它們是R數據說法中的註釋字符。
> table(count.fields("~/Downloads/bugs.csv", quote="", sep=",", comment.char=""))
30
137044
所以....在read.table
使用這些設置,你應該是「好走」。
'count.fields'的很棒的演示。 –
非常棒!感謝您的幫助! –
也許你可以發佈一些數據讓我們重現這個問題? –
這裏是我想要閱讀的CSV文件的鏈接 - http://dl.dropbox.com/u/6967747/bugs.csv –
使用'quote =「」';見'?read.csv' –