如何查找文件以形成所需模式的文本

时间:2015-02-13 18:25:54

标签: r

嗨我有一个看起来像这样的文件 -

00
01
56
16
43
83
6

00
01
58
90
41
09
 6

现在我想要一个R程序将其更改为0001561643836 0001589041096 .. 请帮忙

2 个答案:

答案 0 :(得分:0)

您可以使用扫描

扫描(" filename.txt",sep =" \ n")

答案 1 :(得分:0)

根据显示的例子,

 v1 <- readLines('file.txt')
 #or
 #v1 <- scan('file.txt', what='', blank.lines.skip=FALSE, quiet=TRUE)

 indx <- inverse.rle(within.list(rle(v1==''),
        values[!values]<- seq_along(values[!values])))
 res <- unname(tapply(v1[v1!=''], indx[v1!=''], FUN=paste, collapse=''))
 res 
 #[1] "0001561643836" "0001589041096"

或者

 res <- unname(tapply(v1, cumsum(c(1, abs(diff(v1=='')))),
         FUN=paste, collapse=''))
 res[res!='']
 #[1] "0001561643836" "0001589041096"

或者

 library(data.table)
 setDT(list(v1))[,paste(V1, collapse="") ,rleid(V1=='')][V1!='']$V1
 #[1] "0001561643836" "0001589041096"