首页 文章

电车里的多个活动

提问于
浏览
4

我已经看过了seqdef,但是当我使用类似于Aassve等人使用的数据集的东西时,我创建了一个TraMineR数据集 . (如tutorial中所述),每一波都有关于几个州(例如儿童,婚姻,就业)的信息 . 我所有的变量都是二进制的这是一个包含三个波(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)

我可能错了,但我发现的材料只涉及一次一个变量的数据管理和分析(例如,跨越几个波的就业状态) . 我的数据集比上面的要大得多,所以我无法真正手动将这些数据加入,如tutorial第48页所示 . 有没有人使用TraMineR(或类似的包)处理这类数据?

1)您如何将上述数据提供给TraMineR?

2)您如何计算替代成本然后将它们聚类?

非常感谢

2 回答

  • 4

    当使用序列分析时,我们感兴趣的是一个变量的演化(例如,跨越几个波的一个变量的序列) . 那么您有多种可能性来分析几个变量:

    • 在每个变量的序列上创建,然后分析序列簇之间的链接 . 在我看来,如果你的变量衡量不同的概念(例如,家庭和就业),这是最好的方法 .

    • 使用 interaction 函数为每个波形创建一个新变量,该变量是一个波形的不同变量的 interaction . 例如,对于wave 1,请使用 L$IntVar1 <- interaction(L$A1, L$B1, L$C1, drop=T) (使用 drop=T 删除未使用的答案组合) . 然后分析这个新创建的变量的顺序 . 在我看来,如果您的变量是同一概念的不同维度,这是首选方式 . 例如,婚姻,子女和工会都与家庭生活息息相关 .

    • 为每个变量创建一个序列对象,然后使用 seqdistmc 计算距离(多通道序列分析) . 这相当于以前的方法,具体取决于您如何设置替代成本(见下文) .

    如果您使用第二个策略,则可以使用以下替换成本 . 您可以计算原始变量之间的差异来设置替代成本 . 例如,在状态"Married, Child"和"Not married and Child"之间,您可以将替换设置为"1",因为"marriage"变量只有差异 . 同样,您可以将状态"Married, Child"和"Not married and No Child"之间的替换成本设置为"2",因为所有变量都不同 . 最后,将indel成本设置为最大替换成本的一半 . 这是 seqdistmc 使用的策略 .

    希望这可以帮助 .

  • 1

    在Biemann和Datta(2013)中,他们讨论了多维分析 . 这意味着为同一个“个体”创建多个序列 .

    我使用以下方法来做到这一点:

    1)定义3维序列

    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")
    

    2)计算多通道(多维)距离

    mcdist <- seqdistmc(channels=list(comp.seq,member.seq,titles.seq),method="OM",sm=list("TRATE","TRATE","TRATE"),with.missing=TRUE)
    

    3)用病房方法聚类:

    library(cluster)
    clusterward<- agnes(mcdist,diss=TRUE,method="ward")
    plot(clusterward,which.plots=2)
    

    没关系“丢失”或“左”等参数,但我希望简短的代码示例有所帮助 .

相关问题