我想删除重复的,但将第一个保留在二进制向量中:
x = c(0,0,1,1,0,1,0,1,1,1,0,1) # the input
y = c(0,0,1,0,1,0,1,0,1) # the desired output
即,分别除去第一和第三组
1
中的一个1
和两个1
,并保留该组中的第一rle
。我正在尝试将
cumsum
与ojit_code一起使用,但尚未弄清楚。任何建议,将不胜感激。 最佳答案
使用rle
/inverse.rle
res <- rle(x)
res$lengths[res$values == 1] <- 1
inverse.rle(res)
## [1] 0 0 1 0 1 0 1 0 1
关于R:删除重复的值,并将第一个值保留在二进制向量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34271856/