使用来自的示例数据TraMineR::seqetm
data(actcal)
actcal.seq <- seqdef(actcal,13:24,
labels=c("FullTime", "PartTime", "LowPartTime", "NoWork"))
您的示例似乎是print.stslist
用于seqconc
创建序列的输出
所以我将手动创建这个序列
actcal.seqconc <- seqconc(actcal.seq)
这是一个矩阵。所以我们可以只应用这个函数来拆分-
然后根据需要与过渡状态重新组合。执行此操作的函数如下:
transitions <- function(x, start = 'S') {
x <- unlist(strsplit(x, '-')
paste0(c(start, head(x, -1)), x, collapse = '-')
}
actcal.tseq <- as.matrix(apply( actcal.seqconc, 1, transitions))
如果您想要状态之间的转换率,请使用seqtrate
seqtrate(actcal.seq)
[>] computing transition rates for states A/B/C/D ...
[-> A] [-> B] [-> C] [-> D]
[A ->] 0.986991870 0.005203252 0.001084011 0.006720867
[B ->] 0.009700665 0.970343681 0.007760532 0.012195122
[C ->] 0.005555556 0.014814815 0.934259259 0.045370370
[D ->] 0.008705580 0.006279435 0.014985015 0.970029970