我现在使用 TraMineR 有一段时间了,我有一个关于更改序列时间粒度的问题。目前,我的序列按月对齐,但出于多种原因,我想将其更改为年。我想使用每年最长的咒语作为该特定年份的状态。换句话说,如果有人同居 4 个月,然后在 2000 年结婚并在另外 8 个月保持婚姻,我想将该人编码为 2000 年结婚。我想知道是否有简单的方法用 TraMineR 做到这一点。
提前致谢,
汤姆
我现在使用 TraMineR 有一段时间了,我有一个关于更改序列时间粒度的问题。目前,我的序列按月对齐,但出于多种原因,我想将其更改为年。我想使用每年最长的咒语作为该特定年份的状态。换句话说,如果有人同居 4 个月,然后在 2000 年结婚并在另外 8 个月保持婚姻,我想将该人编码为 2000 年结婚。我想知道是否有简单的方法用 TraMineR 做到这一点。
提前致谢,
汤姆
包中的seqgranularity
函数TraMineRextras
将每个连续的长度子序列聚合tspan
为一个状态。在其在 CRAN 上的稳定版本中,提出了两种聚合方法:"first"
或者"last"
将周期内的序列分别替换为周期中的第一个和最后一个状态。
您正在寻找的选项,即用最频繁的状态替换句点,目前正在R-ForgeTraMineRextras
的开发版本中进行测试。论据是method="mostfreq"
以下是我们将月度数据汇总为年度数据的示例:
library(TraMineRextras)
data(mvad)
mvad.seq <- seqdef(mvad, 17:86)
mvad.seq2 <- seqgranularity(mvad.seq, tspan=12, method="mostfreq")
par(mfrow=c(2,1))
seqiplot(mvad.seq, withlegend=F)
seqiplot(mvad.seq2, withlegend=F)