嗨我有一个看起来像这样的文件 -
00
01
56
16
43
83
6
00
01
58
90
41
09
6
现在我想要一个R程序将其更改为0001561643836
0001589041096
..
请帮忙
答案 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"