使用TraMiner显示各个群集的频率表

时间:2015-04-21 00:25:37

标签: r sequence cluster-analysis traminer

我目前正在使用TraMiner进行群集练习。我有一个频率表df.seq,我使用以下代码分成四个集群:

library(cluster)
df.om <- seqdist(df.seq, method='OM', indel=1, sm='TRATE', with.missing=TRUE)
clusterward <- agnes(df.om, diss=TRUE, method="ward")
df.cl4 <- cutree(clusterward, k=4)
cl4.lab <- factor(df.cl4, labels=paste("Cluster", 1:4))

然后,我绘制了我的四个星团的序列频率图。

seqfplot(df.seq, group=cl4.lab, pbarw=FALSE, border=NA, withlegend = FALSE, yaxis = "pct", cpal=palette(rainbow(length(unique(df.new$cart)))))

虽然seqfplot提供了良好的视觉效果,但我希望看到每个群集的频率表。例如,我可以这样做:

seqtab(df.seq)

并获得以下输出:

Sequence Frequency %

Item #1 10 30%

Item #2 9 25%

Item #3 8 20%

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用by。我将使用actcal

附带的TraMineR数据进行说明
library(TraMineR)
data(actcal)
actcal.seq <- seqdef(actcal[,13:24])
seqfplot(actcal.seq, group=actcal$sex)
by(actcal.seq, actcal$sex, seqtab)

对于您的示例,命令将为

by(df.seq, cl4.lab, seqtab)

希望这有帮助。