id
列とname
列を含むテキストファイルがあり、それをRのデータフレームに読み取ろうとしています。
d = read.table("foobar.txt", sep="\t")
しかし、何らかの理由で、多くの行がマージされます-たとえば、私のデータフレームの500行目には、次のようなものが表示されます
row 500: 500 Bob\n501\tChris\n502\tGrace
[つまり、元のテキストファイルの行数がたとえば5000行である場合、テーブルのサイズは1000行2列になります。]
私はこれを何度も経験しました。誰が問題が何であるか、またはそれを修正する方法を知っていますか?
From ?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列のデータフレームを強制します。