2012-08-08 50 views
0

當我使用read.table獲取數據時,有一件奇怪的事情。Read.table無法獲取所有數據行

data=read.table('/home/tiger/nasdaqlisted.txt',head=T,sep='|') 
dim(data) 
[1] 750 6 

其實,文件中有2454行,出了什麼問題?
http://freeuploadfiles.com/bb3cwypih2d2

+1

這通常是因爲特殊字符或諸如此類的東西。源文件中有關行751的任何有趣的事情? – A5C1D2H2I1M1N2O1R2T1 2012-08-08 10:18:36

+0

請將您的文本文件的前幾行粘貼到您的問題中,以便我們看到您的數據是什麼樣子的。 – Andrie 2012-08-08 10:31:45

+0

奇怪的是,'read.delim(「path/to/file」,sep =「|」)'爲我讀入所有行。你可以嘗試一下,讓我知道它是否也適用於你? – A5C1D2H2I1M1N2O1R2T1 2012-08-08 10:41:30

回答

3

我認爲這個問題來自於一個事實,即一些名字包含引號字符'(在名稱,如Angie's List, Inc.)。 read.table對於quote的默認參數是"\"'"它需要更改以使數據正確讀取。

read.table("path/to/file", header=TRUE, sep="|", quote="") 

按@mrdwab建議,有"\""默認quote參數將無需任何改變工作read.delim

read.delim("path/to/file", header=TRUE, sep="|") 
+1

那麼爲什麼不直接設置'quote =「」'?我會認爲這是最有意義的...... – A5C1D2H2I1M1N2O1R2T1 2012-08-08 10:43:37

+0

當然,我會相應地編輯。 – plannapus 2012-08-08 10:45:21

+0

爲什麼不加入'read.delim'解釋以及'quote'默認值,作爲使這個答案更完整的另一種選擇。 – A5C1D2H2I1M1N2O1R2T1 2012-08-08 10:50:58