根据2个pdf页面上的可变条件打印图

时间:2013-05-19 09:05:19

标签: r plot sequence traminer

我正在尝试打印一个情节,取决于具有12个术语的变量。该图是使用OM距离对序列进行聚类分类的结果。

我在一个pdf页面上打印这个情节:

pdf("YYY.pdf", height=11,width=20)
seqIplot(XXX.seq, group=XXX$variable, cex.legend = 2, cex.plot = 1.5, border = NA, sortv =XXX.om)
dev.off()

但是打印很小......所以我尝试在2页上打印,如下所示:

pdf("YYY.pdf", height=11,width=20)
seqIplot(XXX.seq, group=XXX$variable, variable="1":"6", cex.legend = 2, cex.plot = 1.5, border = NA, sortv =XXX.om)
seqIplot(XXX.seq, group=XXX$variable, variable="7":"12", cex.legend = 2, cex.plot = 1.5, border = NA, sortv = XXX.om)
dev.off()

但它不起作用......你知道我怎么能要求R将术语的变量分成两组,以便每个pdf页面打印6个图形?

2 个答案:

答案 0 :(得分:2)

解决方案是在每个页面上单独绘制所需组的子集。以下是使用biofam提供的TraMineR数据的示例。组变量p02r04是宗教参与,它有10个不同的值。

library(TraMineR)
data(biofam)
bs <- seqdef(biofam[,10:25])
group <- factor(biofam$p02r04)
lv <- levels(group)
sel <- (group %in% lv[1:6])
seqIplot(bs[sel,], group=group[sel], sortv="from.end", withlegend=FALSE)
seqIplot(bs[!sel,], group=group[!sel], sortv="from.end")

如果要使用变量对索引图进行排序,则应该使用排序变量的相同子集,例如在你的情况下sortv=XXX.om[sel]

答案 1 :(得分:0)

我不知道我是否理解了你的问题,你可以发布一些数据,以帮助我们重现你想要的东西,也许这会有所帮助。要在一个页面中绘制六个图形,您应该调整mfrow参数,这是您想要的吗?

pdf("test.pdf")
par(mfrow=c(3,2))
plot(1:10, 21:30)
plot(1:10, 21:30, pch=20)
hist(rnorm(1000))
barplot(VADeaths)
...
dev.off()