有人知道如何删除连续重复的值吗?不只是使用 unique()函数重复值。
例如,我想要:
0,0,0,0,1,1,1,2,2,2,3,3,3,3,2,2,1,2
成为
0,1,2,3,2,1,2
而不仅仅是
0,1,2,3
有没有一个词来形容这个?我确定解决方案在某个地方,但是我找不到它,因为我不知道这个词。
答案 0 :(得分:2)
与前一个值的差不为零时保留一个值(并保留第一个):
x <- c(0,0,0,0,1,1,1,2,2,2,3,3,3,3,2,2,1,2)
x[c(1, diff(x)) != 0]
# [1] 0 1 2 3 2 1 2
答案 1 :(得分:0)
v <- c(0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 2)
rle(v)$values
输出:
[1] 0 1 2 3 2 1 2