Ich bin mir nicht sicher, es gibt eine sehr nette Möglichkeit, dies zu tun. Normalerweise extrahiere ich die Informationen aus der Effektstruktur und zeichne sie mit ggplot auf (Gitter wäre auch möglich).
Hier ein Beispiel:
library(effects)
library(nlme)
library(plyr) ## utilities
Fit ein Modell der ersten und der zweiten Hälfte einer der Standardbeispiel Datensätze:
fm1 <- lme(distance ~ age, random = ~1|Subject,
data = Orthodont[1:54,])
fm2 <- update(fm1, data = Orthodont[55:108,])
a1 <- allEffects(fm1)
a2 <- allEffects(fm2)
Extrahieren der Information aus dem efflist
Objekt. Dies ist der Teil, der nicht ganz allgemein ist ... der schwierige Teil ist, die Prädiktorvariable herauszuholen.
as.data.frame.efflist <- function(x) {
ldply(x,
function(z) {
r <- with(z,data.frame(fit,
var=variables[[1]]$levels,
lower,upper))
return(plyr::rename(r,setNames(z$variables[[1]]$name,"var")))
})
}
Der Einfachheit halber verwenden ldply
die Ergebnisse der beiden Modelle zusammen:
comb <- ldply(list(fm1=a1,fm2=a2),as.data.frame,.id="model")
Jetzt Grundstück:
library(ggplot2); theme_set(theme_bw())
ggplot(comb,aes(age,fit,
ymin=lower,ymax=upper,
colour=model,fill=model))+
geom_line()+
geom_ribbon(alpha=0.2,colour=NA)+
geom_rug(sides="b")
Der Teppich Grundstück Komponente ist hier ein wenig albern.
Bitte lesen Sie die Informationen über [wie eine gute Frage] (http://stackoverflow.com/help/how-to-ask) und wie ein [reproduzierbares Beispiel] (http zu geben: //stackoverflow.com/questions/5963269). Dies wird es anderen sehr erleichtern, Ihnen zu helfen. – zx8754
bieten einige Daten, und was meinst du mit Overlay? Zeigen Sie uns zumindest ein Beispiel, wie Ihre Handlung aussehen soll –