我有一个文本文件,里面有30行和大约1000列。当我使用read.table并使用View()时的数据布局如下所示。我尝试了很多方法用于删除data.frame的重复相邻值,以便在我的情况下删除但不起作用。
1 1 1 2 2 2 3 3 3 3 2 2
2 2 2 2 2 2 2 2 2 2 2 2
我预计输出会是这样的:
1 2 3 2
2
在我对副本进行过滤后,我会将其写回新的矩阵。
答案 0 :(得分:5)
您可以使用rle
。它" [c] ompute [s]向量"中等值运行的长度和值。
DF <- read.table(text = "1 1 1 2 2 2 3 3 3 3 2 2
2 2 2 2 2 2 2 2 2 2 2 2")
x <- apply(DF, 1, function(x) unname(rle(x)$values))
do.call(rbind, lapply(x, `length<-`, max(lengths(x))))
# [,1] [,2] [,3] [,4]
#[1,] 1 2 3 2
#[2,] 2 NA NA NA