R读取文件,其中包含具有001000值的列

时间:2011-02-08 16:47:14

标签: file r dataframe

我想读一个包含2列的文件。

2 00001
9 00001
3 00001
12 00001
115 00001
11 00001
12 00001
38 00001

如果我使用标准read.table,我最终会得到类似的东西:

   V1 V2
1   2  1
2   9  1
3   3  1
4  12  1
5 115  1
6  11  1

您是否知道如何阅读此文件,并保留第二列原样? 感谢

4 个答案:

答案 0 :(得分:2)

阅读read.table()的文档,了解如何选择列类型。您希望第二列为字符。

答案 1 :(得分:2)

看起来您可以传递参数as.is来更改read.table是否尝试将字符串解析为值,或将它们保留为原始字符串。

  

as.is.read的默认行为是将字符变量(未转换为逻辑,数字或复数)转换为因子。变量as.is控制此转换。它的值是逻辑向量(必要时可以回收值),或者是数字或字符索引的向量,用于指定哪些列不应转换为因子。

     

注意:要取消包括数字列的所有转换,请设置colClasses =“character”。

http://stuff.mit.edu/afs/sipb/project/r-project/arch/i386_rhel3/lib/R/library/base/html/read.table.html

答案 2 :(得分:2)

我对文档很困惑,这就是我问的原因;) 管理找到它:

 read.table("file.txt", colClasses=c("character"))

答案 3 :(得分:2)

一般情况下我会回答Dirk的回答。但也许一点点注释可以帮助那些偶然发现这个线程的人如何处理不那么常见的数据格式。 还要查看read.fwf包中的utils。如果您在没有像某些旧数据库那样的分隔符的情况下存储数据,这真的很好。

话虽如此,在你的特殊情况下,我可能会使用read.table。