我找不到足够的答案来解答我的问题,也许有人可以帮忙吗? (我是R的初学者)
我进行序列分析,状态空间为n = 10,时间空间为t = 168(月)。我为具有8个簇的簇解决方案绘制了序列频率图。然而,该情节并不是真正的解释,因为单个地块太紧或太小。 (见下图)
到目前为止,我执行了以下程序(非常接近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中完成。如果有人知道如何获得更漂亮的序列频率图,我将非常感激!
谢谢!
奥利弗
答案 0 :(得分:4)
对于8组,您可能需要使用cex.plot
参数减小轴标签的字体大小。例如:
seqfplot(neu.seq, group = cluster8, withlegend = T, cex.plot=.5)
您也可以使用border=NA
参数获得更好看的图,该参数抑制代表每个序列模式的条形周围的黑色边框。
或者,如果您使用pdf
,png
或jpeg
等图形设备来创建绘图文件,请尝试使用参数width
和{{ 1}}的功能。 height
值越大,文本越小。
要仅获取群集4,请使用
height
(另见How to identify sequences within each cluster?)
如果您想自己使用例如seqfplot(neu.seq[cluster8=="Typ 4",], withlegend = T)
组合图表,则必须禁用自动图例,并使用par(mfrow=c(.,.))
手动插入图例,例如
seqlegend
希望这有帮助。