如何为群集解决方案中的单个群集生成序列频率图

时间:2014-06-03 12:05:19

标签: r plot cluster-analysis traminer

我找不到足够的答案来解答我的问题,也许有人可以帮忙吗? (我是R的初学者)

我进行序列分析,状态空间为n = 10,时间空间为t = 168(月)。我为具有8个簇的簇解决方案绘制了序列频率图。然而,该情节并不是真正的解释,因为单个地块太紧或太小。 (见下图) enter image description here

到目前为止,我执行了以下程序(非常接近TraMineR-Help文档中的说明):

dist.om1 <- seqdist(neu.seq, method = "OM", indel = 1, sm = submat)
clusterward1 <- agnes(dist.om1, diss = TRUE, method = "ward")
cluster8 <- cutree(clusterward1, k = 8)
cluster8 <- factor(cluster8, labels = c("Typ 1", "Typ 2", "Typ 3", "Typ 4", "Typ 5", "Typ 6", "Typ 7", "Typ 8"))
seqfplot(neu.seq, group = cluster8, pbarw = T, withlegend = T)

我尝试重新配置边距,但结果始终是相同的图(附加的绘图是使用默认设置完成的)。所以我想,也许我可以在我的8-cluster-solution中为单个集群绘制序列频率图。 (在Stata代码中,我会写一些类似于单个序列索引图sqindexplot if cluster8 == 4) 但是,我不知道如何在R中完成。如果有人知道如何获得更漂亮的序列频率图,我将非常感激! 谢谢! 奥利弗

1 个答案:

答案 0 :(得分:4)

对于8组,您可能需要使用cex.plot参数减小轴标签的字体大小。例如:

seqfplot(neu.seq, group = cluster8, withlegend = T, cex.plot=.5)

您也可以使用border=NA参数获得更好看的图,该参数抑制代表每个序列模式的条形周围的黑色边框。

或者,如果您使用pdfpngjpeg等图形设备来创建绘图文件,请尝试使用参数width和{{ 1}}的功能。 height值越大,文本越小。

要仅获取群集4,请使用

height

(另见How to identify sequences within each cluster?

如果您想自己使用例如seqfplot(neu.seq[cluster8=="Typ 4",], withlegend = T) 组合图表,则必须禁用自动图例,并使用par(mfrow=c(.,.))手动插入图例,例如

seqlegend

希望这有帮助。