2013-04-04 18 views
0

我需要分散散點圖和allEffects plot。下面是一些示例數據:R中的圖塊

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

latticeExtra提供了一些功能來 trellis對象組合:+.trellisc.trellislayer 家庭。在這裏,你需要+.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 

effects with layers

+0

抱歉耽擱。謝謝,這非常有幫助! – Rebecca 2013-05-02 02:38:34

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()信息。其他人可能會提供更好的反饋。