在浏览TraMIner
上的文档时,我发现绘制前10个频繁出现的序列的最简单方法是使用seqfplot
。以下代码适用于mvad
数据集。
library(TraMineR)
data("mvad")
mvad.labels <- c("employment", "further education", "higher education",
"joblessness", "school", "training")
mvad.scode <- c("EM", "FE", "HE", "JL", "SC", "TR")
mvad.seq <- seqdef(mvad, 17:86, states = mvad.scode, labels = mvad.labels)
seqfplot(mvad.seq, withlegend = F, border = NA, title = "Sequence frequency
plot")
我想以类似的方式绘制20个最不频繁发生的序列。有没有方便的方法来实现这一目标?
答案 0 :(得分:3)
计算不同序列的数量,然后使用tlim绘制最后的20个。
l <- length(seqtab(mvad.seq, tlim = 1:1000))
seqfplot(mvad.seq, withlegend = F, border = NA, title = "Sequence frequency
plot", tlim=(l-20):l)
然而,这并没有多大意义:对于大多数数据集,大量序列将是唯一的并且频率为1 / n。检查seqtab(mvad.seq, tlim = 1:1000)
的结果。这意味着: