使用read.table读取文本文件

时间:2009-09-10 20:49:30

标签: r read.table

我有一个包含idname列的文本文件,我正在尝试将其读入R中的数据框:

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

但由于某种原因,许多行被合并 - 例如,在我的数据框的第500行,我会看到类似

的内容
row 500: 500 Bob\n501\tChris\n502\tGrace

[因此,如果我的原始文本文件有5000行,那么我的表格的尺寸最终只会是1000行和2列。]

我曾经有过这么多次。有谁知道问题是什么,或者如何解决它?

1 个答案:

答案 0 :(得分:32)

?read.table:数据列的数量是通过查看前五行输入(或整个文件,如果它少于五行),或者从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将强制使用两列数据框。