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

R 如何查找文件以形成所需模式的文本,r,R,嗨,我有一个像这样的文件- 00 01 56 16 43 83 6 00 01 58 90 41 09 6 现在我需要一个R程序将其更改为0001561643836 0001589041096。。 请帮助您可以使用扫描 scanfilename.txt,sep=\n根据所示示例 v1 <- readLines('file.txt') #or #v1 <- scan('file.txt', what='', blank.lines.skip=FALSE, quiet=TRU

嗨,我有一个像这样的文件-

00
01
56
16
43
83
6

00
01
58
90
41
09
 6
现在我需要一个R程序将其更改为0001561643836 0001589041096。。 请帮助

您可以使用扫描


scanfilename.txt,sep=\n

根据所示示例

 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"