读取非分隔文件,数据中没有特定模式

时间:2015-07-10 13:06:37

标签: r

我想将一个ASCII文件读取到R环境。但是,ASCII文件是非分隔的并且数据不是连续的(变量之间有一些空格)所以为了读取数据,我使用了下面的语法,即

test <- read.fwf("D:/R_process/ASCII.txt", width = c(10, 4, 1, 4, 9, 9, 1,1,1,1,1,1,1,3,8))

现在我能够读取它,但读取的数据是错误的。实际上,我的输出应该只有适用的变量数据而不是空白数据。以下是ASCII数据。请让我知道如何编写语法以只读取文件中的适用数据。

提前感谢您的帮助。

这是数据:

000000000120151  04 0.766696           1                         1000000000 010

000000000220151  04 1.458186           1                         1000100000 020

000000000320151  04 0.185492           1                         1000000000 015

000000000420151  04 0.961584           1                         1000000000 003

000000000520151  04 0.650091           2                         0001000000    

000000000620151  04 0.430350           1                         1000000000 020

000000000720151  04 3.192895           2                         1011000000 000

000000000820151  04 0.617127           1                         1010100000 015

000000000920151  04 0.399207           1                         1000000000 010

2 个答案:

答案 0 :(得分:1)

read.table("D:/R_process/ASCII.txt", sep = " ")

修改 @Nick K发表评论后,新答案:

我知道你的宽度错误:

read.fwf("D:/R_process/ASCII.txt", width = c(10, 4, 1, 4, 9, 12, 35, 4))  

答案 1 :(得分:1)

您可以使用strip.white上的read.fwf参数。

test <- read.fwf("D:/R_process/ASCII.txt",
  width = c(10, 4, 1, 4, 9, 9, rep(1, 8), 3, 8),
  strip.white = TRUE)