gpt4 book ai didi

r - Traminer 中的多个事件

转载 作者:行者123 更新时间:2023-12-05 01:08:36 28 4
gpt4 key购买 nike

我正在尝试使用 TraMineR 一次分析多个序列。我看过 seqdef 但我很难理解在处理多个变量时如何创建 TraMineR 数据集。我想我正在使用类似于 Aassve 等人使用的数据集的东西。 (如 tutorial 中所述),其中每一波都有关于几个状态的信息(例如 child 、婚姻、就业)。我所有的变量都是二进制的。这是一个包含三个波浪 (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)

我可能错了,但我找到的 Material 只涉及一次对一个变量的数据管理和分析(例如,跨几波的就业状况)。我的数据集比上面的要大得多,所以我无法真正手动估算这些数据,如 tutorial 的第 48 页所示。 .有没有人使用 TraMineR(或类似的包)处理过这种类型的数据?

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

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

非常感谢

最佳答案

在使用序列分析时,我们对一个变量的演化感兴趣(例如,一个变量在多个波浪中的序列)。然后,您有多种可能性来分析多个变量:

  • 创建每个变量的序列,然后分析序列簇之间的链接。在我看来,这是最好的方法,如果您的变量衡量不同的概念(例如,家庭和就业)。
  • 为每个波浪创建一个新变量,即 interaction使用 interaction 对一波的不同变量进行分析功能。例如,对于第一波,使用 L$IntVar1 <- interaction(L$A1, L$B1, L$C1, drop=T) (使用 drop=T 删除未使用的答案组合)。然后分析这个新创建的变量的顺序。在我看来,如果您的变量是同一概念的不同维度,则这是首选方式。例如,婚姻、 child 和结合都与家庭生活有关。
  • 为每个变量创建一个序列对象,然后使用 seqdistmc计算距离(多 channel 序列分析)。这与之前的方法等效,具体取决于您将如何设置替代成本(见下文)。

  • 如果您使用第二种策略,您可以使用以下替代成本。您可以计算原始变量之间的差异来设置替代成本。例如,在状态“已婚,有 child ”和“未婚有 child ”之间,您可以将替换设置为“1”,因为只有“婚姻”变量不同。同样,您可以将状态“已婚,有 child ”和“未婚且没有 child ”之间的替代成本设置为“2”,因为您的所有变量都不同。最后,您将 indel 成本设置为最大替代成本的一半。这是 seqdistmc 使用的策略.

    希望这可以帮助。

    关于r - Traminer 中的多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17020023/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com