我目前正在使用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%
非常感谢任何帮助!
答案 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)
希望这有帮助。