Finding duplicate values in r

前端 未结 3 678
萌比男神i
萌比男神i 2021-01-23 06:32

So, In a string containing multiple 1\'s,

Now, it is possible that, the number

\'1\' 

appears at several positions, let\'s say, at m

3条回答
  •  星月不相逢
    2021-01-23 06:49

    This is not a complete answer, but some ideas (partly based on comments):

    z <- "1101101101"
    zz <- as.numeric(strsplit(z,"")[[1]])
    

    Compute autocorrelation function and draw plot: in this case I'm getting the periodicity=3 pretty crudely as the first point at which there is an increase followed by a decrease ...

    a1 <- acf(zz)
    first.peak <- which(diff(sign(diff(a1$acf[,,1])))==-2)[1]
    

    Now we know the periodicity is 3; create runs of 3 with embed() and analyze their similarities:

    ee <- embed(zz,first.peak)
    pp <- apply(ee,1,paste,collapse="")
    mm <- outer(pp,pp,"==")
    aa <- apply(mm[!duplicated(mm),],1,which)
    sapply(aa,length)  ## 3 3 2   ## number of repeats
    sapply(aa,function(x) unique(diff(x)))  ## 3 3 3
    

提交回复
热议问题