[R] general question about plotting multiple regression results
John Fox
jfox at mcmaster.ca
Thu Apr 19 23:20:10 CEST 2007
Dear Thomas and Simon,
On Thu, 19 Apr 2007 07:37:28 -0700 (PDT)
Thomas Lumley <tlumley at u.washington.edu> wrote:
> On Thu, 19 Apr 2007, Simon Pickett wrote:
>
> > Hi all,
> >
> > I have been bumbling around with r for years now and still havent
> come up
> > with a solution for plotting reliable graphs of relationships from
> a
> > linear regression.
>
> termplot() does this for a range of regression models (without
> interaction
> terms). The "effects" package does it better for linear regression
> models.
>
> -thomas
>
The effects package also works for generalized linear models (which, I
suppose, are arguably linear regression models).
Regards,
John
>
> > Here is an example illustrating my problem
> >
> > 1.I do a linear regression as follows
> >
> >
>
summary(lm(n.day13~n.day1+ffemale.yell+fmale.yell+fmale.chroma,data=surv))
> >
> > which gives some nice sig. results
> >
> > Coefficients:
> > Estimate Std. Error t value Pr(>|t|)
> > (Intercept) -0.73917 0.43742 -1.690 0.093069 .
> > n.day1 1.00460 0.05369 18.711 < 2e-16 ***
> > ffemale.yell 0.22419 0.06251 3.586 0.000449 ***
> > fmale.yell 0.25874 0.06925 3.736 0.000262 ***
> > fmale.chroma 0.23525 0.11633 2.022 0.044868 *
> >
> > 2. I want to plot the effect of "ffemale.yell", "fmale.yell" and
> > "fmale.chroma" on my response variable.
> >
> > So, I either plot the raw values (which is fine when there is a
> very
> > strong relationship) but what if I want to plot the effects from
> the
> > model?
> >
> > In this case I would usually plot the fitted values values against
> the raw
> > values of x... Is this the right approach?
> >
> >
>
fit<-fitted(lm(n.day13~n.day1+ffemale.yell+fmale.yell+fmale.chroma,data=fsurv1))
> >
> > plot(fit~ffemale.yell)
> >
> > #make a dummy variable across the range of x
> > x<-seq(from=min(fsurv1$ffemale.yell),to=max(fsurv1$ffemale.yell),
> length=100)
> >
> > #get the coefficients and draw the line
> > co<-coef(lm(fit~ffemale.yell,data=fsurv1))
> > y<-(co[2]*x)+co[1]
> > lines(x,y, lwd=2)
> >
> > This often does the trick but for some reason, especially when my
> model
> > has many terms in it or when one of the independent variables is
> only
> > significant when the other independent variables are in the
> equation, it
> > gives me strange lines.
> >
> > Please can someone show me the light?
> >
> > Thanks in advance,
> >
> > Simon.
> >
> >
> >
> >
> >
> >
> > Simon Pickett
> > PhD student
> > Centre For Ecology and Conservation
> > Tremough Campus
> > University of Exeter in Cornwall
> > TR109EZ
> > Tel 01326371852
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> Thomas Lumley Assoc. Professor, Biostatistics
> tlumley at u.washington.edu University of Washington, Seattle
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/
More information about the R-help
mailing list