我需要对散点图和allEffects plot
进行分层。以下是一些示例数据:
library("effects")
x<-c(1,2,6,7,4,3,5)
y<-c(5,6,3,6,9,4,4)
a<-as.factor(c(1,1,1,2,2,2,2))
xyplot(y ~ x|a)
lm.y<-lm(y~x*a)
plot(allEffects(lm.y))
要清楚,我希望xyplot
在plot(allEfects...)
情节上分层。我很感激任何建议。
答案 0 :(得分:0)
我建议使用ggplot2包,看起来应该是这样的。
ggplot(data, aes(y=y, x=x)) +
geom_point(shape = 1) +
geom_smooth(method="lm", fullrange=T) +
facet_grid(~a) +
theme(aspect.ratio = 1)
它允许你分层图。
话虽如此 - 这不是一个完整的回应,因为我不确定如何合并你的allEffects()信息。其他人可能会提供更好的反馈。
答案 1 :(得分:0)
包latticeExtra
提供了几个要组合的功能
trellis
个对象:+.trellis
,c.trellis
和layer
家庭。您需要+.trellis
:
library("effects")
library("latticeExtra")
x <- c(1,2,6,7,4,3,5)
y <- c(5,6,3,6,9,4,4)
a <- as.factor(c(1,1,1,2,2,2,2))
pxy <- xyplot(y ~ x|a)
lm.y <- lm(y~x*a)
aef <- allEffects(lm.y)
plot
对象的efflist
方法存在问题
(allEffects
的结果):它只打印trellis
对象
但没有回报。诀窍是使用plot
方法
eff
个对象(efflist
对象的组件)
定义为返回trellis
个对象。你的例子的效果
可以使用aef[[1]]
提取
peff <- plot(aef[[1]])
最后一步+.trellis
:
peff + pxy