4

我找不到足够的答案来解决我的问题,也许有人可以在这里提供帮助?(我是 R 的初学者)

我做序列分析,状态空间是n = 10,时间空间是t = 168(月)。我为具有 8 个集群的集群解决方案绘制了序列频率图。然而,这个情节并没有真正开放解释,因为单个情节太固定或太小。(见下图) 在此处输入图像描述

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

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 集群解决方案中为单个集群绘制序列频率图。(在Stata代码中,我会为单个序列索引图编写类似的东西sqindexplot if cluster8 == 4)但是,我不知道这是如何在R中完成的。如果有人知道如何获得更漂亮的序列频率图,我会非常感谢!谢谢!奥利弗

4

1 回答 1

4

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

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

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

或者,如果您使用图形设备(例如pdf或)来创建绘图文件,请尝试使用参数和函数。值越大,文本看起来越小。pngjpegwidthheightheight

要仅获取集群 4,请使用

seqfplot(neu.seq[cluster8=="Typ 4",], withlegend = T)

(另请参阅如何识别每个簇内的序列?

如果你想自己组合par(mfrow=c(.,.))图例,你必须禁用自动图例,并手动插入图例seqlegend,例如

par(mfrow=c(2,2))
seqfplot(neu.seq[cluster8=="Typ 4",], withlegend = F)
seqfplot(neu.seq[cluster8=="Typ 5",], withlegend = F)
seqfplot(neu.seq[cluster8=="Typ 6",], withlegend = F)
seqlegend(neu.seq)
dev.off()

希望这可以帮助。

于 2014-06-03T13:26:44.623 回答