2009-09-10 15 views
17
私は idname列のテキストファイルを持っていて、それをRのデータフレームに読み込もうとしています。

read.tableを使ってテキストファイルを読む

d = read.table("foobar.txt", sep="\t") 

しかし、何らかの理由で多くの行がマージされます。私のデータフレームの行500には、

row 500: 500 Bob\n501\tChris\n502\tGrace 

のようなものが表示されます[元のテキストファイルの行数が5000行の場合、テーブルのサイズは1000行と2列にしかなりません。]

これは私にかなりの数回起こりました。誰が問題が何であるか、それを修正する方法を知っていますか?

+0

あなたが間違ったことが不明確なファイル(またはその一部)を入力してください。 –

+0

あなたのエラーを簡単に見てみると、少なくとも1つの問題は、 '500'と' Bob'がタブで区切られていないことかもしれません。 –

答えて

28

から?read.table:データ列の数は、入力の最初の5行(または5行未満の場合はファイル全体)を調べるか、指定されている場合はcol.namesの長さ長いです。 fillまたはblank.lines.skipがtrueの場合、これはおそらく間違っている可能性があるので、必要に応じてcol.namesを指定してください。

おそらく、あなたのデータファイルはきれいではありません。より具体的であることは、データのインポートを助ける:

d = read.table("foobar.txt", 
       sep="\t", 
       col.names=c("id", "name"), 
       fill=FALSE, 
       strip.white=TRUE) 

は、正確な列を指定し、fill=FALSEは、2つの列のデータフレームを強制します。

+1

こんにちは..非構造化テキストファイルを読むことは可能ですか? –

+0

最初のパラメータ名を忘れたと思います。 '(file =" footer.txt "、...)' – iTurki

+3

@JayNirgudkar 'scan'と' readLines'を見てください。 – lmo

関連する問題