合并使用 R 中的效果包创建的两个图

Flo*_*low 2 graphics r effects

我有以下问题。运行有序 logit 模型后,我想要 R 的效果包来可视化结果。这工作得很好,我对两个自变量这样做了,然后我尝试合并这两个图。然而,这似乎不起作用。我在这里提供了一个可复制的示例,以便您可以自己看到我的问题:

library(car)
data(Chile)
mod <- polr(vote ~ age + log(income), data=Chile)

eff <- effect("log(income)", mod)
plot1 <- plot(eff, style="stacked",rug=F, key.args=list(space="right"))

eff2 <- effect("age", mod)
plot2 <- plot(eff2, style="stacked",rug=F, key.args=list(space="right"))
Run Code Online (Sandbox Code Playgroud)

我现在可以独立打印这两个图,但是当我尝试将它们绘制在一起时,第一个图被覆盖。我尝试设置par(mfrow=c(2,1)),但没有成功。接下来我尝试了以下操作:

print(plot1, position=c(0, .5, 1, 1), more=T)
print(plot2, position=c(0,0, 1, .5))
Run Code Online (Sandbox Code Playgroud)

在后一种情况下,两个图的位置都很好,但是一旦我添加第二个图(或者更好,它被覆盖),第一个图仍然消失。任何如何防止这种行为的建议将不胜感激。

jor*_*ran 5

仔细阅读一长串的论据,?print.eff我们发现有一些论据支持这样做:

plot(eff, style="stacked",rug=F, key.args=list(space="right"),
     row = 1,col = 1,nrow = 1,ncol = 2,more = TRUE)
plot(eff2, style="stacked",rug=F, key.args=list(space="right"),
     row = 1,col = 2,nrow = 1,ncol = 2)
Run Code Online (Sandbox Code Playgroud)

par()不起作用的原因是这个包使用了点阵图形,它是基于网格系统的,与基础图形不兼容。也不会对网格图形par()产生layout任何影响。