[R] understanding print.summary.lm and perhaps print/show in general
Christos Hatzis
christos at nuverabio.com
Fri Mar 9 16:09:21 CET 2007
Paul,
Usually summary methods perform some computations if needed and then change
the class of the original object so that a print method can be called for
the new summary object.
In this case, this is done at the end of the summary.lm method:
...
if (!is.null(z$na.action))
ans$na.action <- z$na.action
class(ans) <- "summary.lm"
^^^^^^^^^^^^^^^^^^^^^^^^^^
ans
}
So then print.summary.lm does all the job displaying the summary.lm object.
To see that function do
getAnywhere(print.summary.lm)
Then you can then modify that function as needed.
-Christos
Christos Hatzis, Ph.D.
Nuvera Biosciences, Inc.
400 West Cummings Park
Suite 5350
Woburn, MA 01801
Tel: 781-938-3830
www.nuverabio.com
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Paul Bailey
> Sent: Friday, March 09, 2007 9:34 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] understanding print.summary.lm and perhaps
> print/show in general
>
> I'm trying to understand how R prints summary.lm objects and
> trying to change it slightly for a summary function that
> calculates standard errors using an alternative method.
>
> I've found that I can modify a summary.lm object and then it
> prints the modified way but I want to change a few things in
> the print method that I think I might just be able to do. One
> is that I want the coefficients table to print a different
> header (other than "Std. Error"). I've tried changing the
> column name of the summary$coef matrix and this works for
> calls to printCoefmat but it still prints out "Std. Error"
> when I pass the summary.lm to the command line by itself. I
> don't understand this behavior. When I do this (enter an
> object on the command line by itself), does it then calls the
> print / show method associated with that objects class, in
> this case, summary.lm? Below is some sample code to reproduce
> the behavior I don't understand and a comment regarding the
> result I don't understand.
>
> Cheers,
> Paul
>
> #####
> lma <- lm(dist ~ speed, data=cars)
> suma <- summary(lma)
> colnames(suma$coef) <- c(LETTERS[1:4])
> printCoefmat(suma$coef) # prints what I expect suma # the
> above is the print behavior question regards, # why does the
> coefficients matrix have in its header # the usual "Estimate
> Std. Error t value Pr(>|t|)"
> # I expect "A B C D" as above in the call to printCoefmat
>
> ______________________________________________
> 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.
>
>
More information about the R-help
mailing list