Find specific patterns in sequences

前端 未结 1 727
陌清茗
陌清茗 2020-12-19 09:14

I\'m using R package TraMineR to make some academic research on sequence analysis.

I want to find a pattern defined as someone being in the target company, then going

1条回答
  •  攒了一身酷
    2020-12-19 09:54

    The title of the seqpm help page is "Find substring patterns in sequences", and this is what the function actually does. It searches for sequences that contain a given substring (not a subsequence). Seems there is a formulation error in the user's guide.

    A solution to find the sequences that contain given subsequences, is to convert the state sequences into event sequences with seqecreate , and then use the seqefsub and seqeapplysub function. I illustrate using the actcal data that ships with TraMineR.

    library(TraMineR)
    data(actcal)
    actcal.seq <- seqdef(actcal[,13:24])
    
    ## displaying the first state sequences
    head(actcal.seq)
    
    ## transforming into event sequences
    actcal.seqe <- seqecreate(actcal.seq, tevent = "state", use.labels=FALSE)
    
    ## displaying the first event sequences
    head(actcal.seqe)
    
    ## now searching for the subsequences
    subs <- seqefsub(actcal.seqe, strsubseq=c("(A)-(D)","(D)-(B)"))
    ## and identifying the sequences that contain the subsequences
    subs.pres <- seqeapplysub(subs, method="presence")
    head(subs.pres)
    
    ## we can now, for example, count the sequences that contain (A)-(D)
    sum(subs.pres[,1])
    ## or list the sequences that contain (A)-(D)
    rownames(subs.pres)[subs.pres[,1]==1]
    

    Hope this helps.

    0 讨论(0)
提交回复
热议问题