【问题标题】:How to combine three separate interaction plots into a single figure?如何将三个单独的交互图组合成一个图形?
【发布时间】:2013-04-20 11:47:41
【问题描述】:

对此表示歉意。这是我对可重现数据集的问题:

library(effects)
data(Arrests)

Arrests$year <- as.factor(Arrests$year)

arrests.mod <- glm(released ~ employed + citizen + checks + colour*year + 
                   colour*age, family=binomial, data=Arrests)

t.effects  <- allEffects(arrests.mod)

plot(t.effects, "colour:year")
plot(t.effects, "colour:age")

是否可以将两个图合并为一个图?

par(mfrow=c(2,1)) 

这不起作用。 IE。这些数字分别在两张图中再现,但不在同一张图中。

【问题讨论】:

  • unfortunately doesn't not work 是什么意思?请让您的情况可重现,即向我们提供模拟您的情况所需的数据和代码。有关如何执行此操作的更多提示,请参阅stackoverflow.com/questions/5963269/…
  • 你的代码中也有一些流氓“ - 看看颜色。
  • 对不起,我在上面提供了一个更好的例子。朱莉娅

标签: r plot interaction


【解决方案1】:

par(mfrow=c(2,1)) 不适用于网格图。它仅适用于基本图形。您可以使用gridExtra 来排列格子图。

library(gridExtra)
p1 <- plot(t.effects, "colour:year")
p2 <- plot(t.effects, "colour:age")
grid.arrange(latticeGrob(p1),
            latticeGrob(p2))

【讨论】:

    【解决方案2】:

    您可以使用矢量索引从您的 alleffects 对象中引用特定效果。在你的情况下,我相信 t.effects[4:5] 或者,等效地, t.effects[c("colour:year", "color:age")]

    library(effects)
    data(Arrests)
    
    Arrests$year <- as.factor(Arrests$year)
    arrests.mod <- glm(released ~ employed + citizen + checks + colour*year + colour*age, family=binomial, data=Arrests)
    t.effects <- allEffects(arrests.mod)
    
    plot(t.effects[4:5])
    

    【讨论】:

    • 感谢您的回复。 plot(t.effects[4:5]) 仍然分别绘制两个交互(一个接一个) - 不是在一个图中。
    • 这很奇怪,对我来说他们在同一个情节中。
    猜你喜欢
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2012-06-29
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多