traminer中的多个事件

traminer中的多个事件,r,traminer,R,Traminer,我试图用TraMineR同时分析多个序列。我已经看过seqdef,但我很难理解在处理多个变量时如何创建TraMineR数据集。我想我使用的数据集类似于Aassve等人使用的数据集(如中所述),其中每个波都有关于几个州的信息(例如,儿童、婚姻、就业)。我所有的变量都是二进制的。下面是一个包含三个波(D、W2、W3)和三个变量的数据集示例 D<-data.frame(ID=c(1:4),A1=c(1,1,1,0),B1=c(0,1,0,1),C1=c(0,0,0,1)) W2<-data

我试图用TraMineR同时分析多个序列。我已经看过seqdef,但我很难理解在处理多个变量时如何创建TraMineR数据集。我想我使用的数据集类似于Aassve等人使用的数据集(如中所述),其中每个波都有关于几个州的信息(例如,儿童、婚姻、就业)。我所有的变量都是二进制的。下面是一个包含三个波(D、W2、W3)和三个变量的数据集示例

D<-data.frame(ID=c(1:4),A1=c(1,1,1,0),B1=c(0,1,0,1),C1=c(0,0,0,1))
W2<-data.frame(A2=c(0,1,1,0),B2=c(1,1,0,1),C2=c(0,1,0,1))
W3<-data.frame(A3=c(0,1,1,0),B3=c(1,1,0,1),C3=c(0,1,0,1))
L<-data.frame(D,W2,W3)

D使用序列分析时,我们感兴趣的是一个变量的演变(例如,一个变量的序列跨越多个波)。然后,您有多种可能来分析多个变量:

  • 为每个变量创建序列,然后分析序列簇之间的链接。在我看来,如果你的变量衡量不同的概念(例如,家庭和就业),这是最好的方法
  • 使用
    交互
    功能,为每个波创建一个新变量,该变量是一个波的不同变量的
    交互
    。例如,对于wave one,在Biemann和Datta(2013)中使用
    L$IntVar1,他们讨论了多维分析。这意味着为同一个“个体”创建多个序列

    我采用了以下方法:

    1) 定义三维序列

    comp.seq <- seqdef(comp,NULL,states=comp.scodes,labels=comp.labels, alphabet=comp.alphabet,missing="Z")
    titles.seq <- seqdef(titles,NULL,states=titles.scodes,labels=titles.labels, alphabet=titles.alphabet,missing="Z")
    member.seq <- seqdef(member,NULL,states=member.scodes,labels=member.labels, alphabet=member.alphabet,missing="Z")
    
    comp.seq
    
    mcdist <- seqdistmc(channels=list(comp.seq,member.seq,titles.seq),method="OM",sm=list("TRATE","TRATE","TRATE"),with.missing=TRUE)
    
    library(cluster)
    clusterward<- agnes(mcdist,diss=TRUE,method="ward")
    plot(clusterward,which.plots=2)