我正在使用 R 包TraMineR
。我想通过使用命令来绘制频繁的事件序列seqpcplot
。我之前对alphabet
as 中的状态进行了编码,以使它们按字母顺序排列,这样当我使用seqdef
命令计算序列而不指定labels
andstates
选项时,我会获得以下输出:
[>] state coding:
[alphabet] [label] [long label]
1 a.sin a.sin a.sin
2 b.co0 b.co0 b.co0
3 c.co1 c.co1 c.co1
4 d.co2+ d.co2+ d.co2+
5 e.ma0 e.ma0 e.ma0
6 f.ma1 f.ma1 f.ma1
7 g.ma2+ g.ma2+ g.ma2+
8 h.sin0 h.sin0 h.sin0
9 i.lp1 i.lp1 i.lp1
10 l.lp2+ l.lp2+ l.lp2+
11 m.lp1_18 m.lp1_18 m.lp1_18
12 n.lp2_18 n.lp2_18 n.lp2_18
然后我通过使用将状态序列对象转换为事件序列对象seqecreate
。当绘制事件序列时,seqpcplot
我获得了一个非常漂亮的图表,其中状态在 y 轴上按字母顺序根据alphabet
.
但是,我想在图表中使用更长的标签,所以我在命令中指定labels
andstates
选项为seqdef
lab<-c("single", "cohabNOchildren","cohab1child","cohab2+children","marrNOchildren","marr1child","marr2+children","singleNOchildren","loneMother1child","loneMother2+children","loneMother1child_over18","loneMother2+children_over18")
获得:
[>] state coding:
[alphabet] [label] [long label]
1 a.sin single single
2 b.co0 cohabNOchildren cohabNOchildren
3 c.co1 cohab1child cohab1child
4 d.co2+ cohab2+children cohab2+children
5 e.ma0 marrNOchildren marrNOchildren
6 f.ma1 marr1child marr1child
7 g.ma2+ marr2+children marr2+children
8 h.sin0 singleNOchildren singleNOchildren
9 i.lp1 loneMother1child loneMother1child
10 l.lp2+ loneMother2+children loneMother2+children
11 m.lp1_18 loneMother1child_over18 loneMother1child_over18
12 n.lp2_18 loneMother2+children_over18 loneMother2+children_over18
和以前一样,然后我计算了事件序列并使用以下方法绘制它们seqpcplot
:
seqpcplot(example.seqe,
filter = list(type = "function",
value = "cumfreq",
level = 0.8),
order.align = "last",
ltype = "non-embeddable",
cex = 1.5, lwd = .9,
lcourse = "downwards")
这次 y 轴上的状态是按字母顺序排列的状态,但按照我所希望的labels
andstates
标签给出的顺序而不是。alphabet
有没有办法保持在alphabet
绘图seqpcplot
时给出的字母顺序以及指定labels
和states
选项时给出的字母顺序,并且可能遵循与 不同的字母顺序alphabet
?
谢谢。