【发布时间】:2013-04-01 11:03:44
【问题描述】:
我正在使用 R 读取文本文件,然后对其进行操作。 输入文件有 22 列。这是第一列的样子:
NAME LENGTH A C D E F G H I K L M N P Q R S T V W Y
我目前正在使用:
read.table("filename", stringsAsFactors=FALSE)
输入文件。当我运行相同时,我收到此警告:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 2 did not have 23 elements
不知道我哪里出错了。我是 R 新手,非常感谢您的帮助。我试图确保这不是转发,但如果是,请务必将我链接到原版。
【问题讨论】:
-
试试
header = TRUE并向我们展示文件的前几行。 -
或者也许/也使用
sep=SEPATATOR,其中SEPARATOR是分隔输入的标记(如.csv文件的逗号) -
@RomanLuštrik 尝试了 header=TRUE,但它显示相同的错误并且没有打印任何内容。如果有帮助,这里是 txt 文件本身的文件的前几行: NAME LENGTH A C D E F G H I K L M N P Q R S T V W Y ape:APE_0001 242 15 0 1 12 10 18 2 27 9 43 7 2 8 3 5 25 15 24 3 12 猿:APE_0002 113 7 1 6 6 1 12 3 4 10 16 4 2 4 0 10 3 5 9 4 5 猿:APE_0004 305 24 2 5 8 9 25 4 36 12 43 8 11 14 2 12 20 21 27 9 12 所有行都有 22 列(用 count.fields 验证),所以根本不应该出现这种没有 23 个元素的行的错误!标签在 cmets 中不起作用吗!?
-
那里的冒号“:”可能会弄乱您明显的元素数量。尝试使用
fill=TRUE参数到read.table,看看你会得到什么。 -
@user2211355 编辑您的问题并在此处添加示例数据。