Identify and replace duplicates elements from a vector

后端 未结 2 1091
不知归路
不知归路 2020-12-21 05:29

I have got a vector which is as under

a<- c(1,1,1,2,3,2,2,2,2,1,0,0,0,0,2,3,4,4,1,1)

Here we can see that there are lot of duplicate el

相关标签:
2条回答
  • 2020-12-21 06:09
    replace(a, duplicated(c(0, cumsum(abs(diff(a))))), 0)
    # [1] 1 0 0 2 3 2 0 0 0 1 0 0 0 0 2 3 4 0 1 0
    
    0 讨论(0)
  • 2020-12-21 06:21

    You can created a lagged series and compare

    > a
     [1] 1 1 1 2 3 2 2 2 2 1 0 0 0 0 2 3 4 4 1 1
    > ifelse(a == c(a[1]-1,a[(1:length(a)-1)]) , 0 , a)
     [1] 1 0 0 2 3 2 0 0 0 1 0 0 0 0 2 3 4 0 1 0
    
    0 讨论(0)
提交回复
热议问题