我现在使用TraMineR一段时间了,我有一个关于改变序列时间粒度的问题。目前,我的序列在几个月内保持一致,但出于几个原因,我想将其改为多年。我想用每年最长的法术作为那个特定年份的州。换句话说,如果有人同居4个月然后结婚并在2000年的其他8个月结婚,我想把这个人编码为2000年结婚。我想知道是否有一个简单的方法用TraMineR做到这一点。
提前致谢,
汤姆
答案 0 :(得分:4)
seqgranularity
包中的TraMineRextras
函数将长度为tspan
的每个连续子序列聚合为单个状态。在CRAN的稳定版本中,提出了两种聚合方法:"first"
或"last"
,分别用句点中的第一个和最后一个状态替换句点中的序列。
您正在寻找的选项,即替换最频繁状态的时段,目前正在TraMineRextras
的{{1}}开发版中进行测试。参数是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)