Petr, Thanks, you set me on the right path. It turns out that the behavior that surprises me is this: when you change $coef it isn't the same as changing $coefficients. The first changes the value, but the second changes the value and makes the print/show metod change its output from when the summary.lm was created. I think the sample code below highlights this behavior nicely.
Why would you want this behavior? Cheers, Paul #### R code: lma <- lm(dist ~ speed, data=cars) suma <- summary(lma) colnames(suma$coef) <- c(LETTERS[1:4]) dimnames(suma$coef) # after setting colnames, dimnames of coefficients variable is set suma # but printing is still the old print dimnames(suma$coefficients) <- list(names(suma$coefficients), c(LETTERS[1:4])) dimnames(suma$coef) # no change in dimnames from before suma # but the summary output is now refreshed! ###### > >Another solution is to look into the code of summary.lm a few lines >above where the (dim)names are assigned. Based on this, you may try > >lma <- lm(dist ~ speed, data=cars) >suma <- summary(lma) >colnames(suma$coef) <- c(LETTERS[1:4]) >printCoefmat(suma$coef) # prints what I expect >suma > >dimnames(suma$coefficients) <- list(names(suma$coefficients), >c(LETTERS[1:4])) >suma > >You might also find reading the chapter on generic functions in the >R-lang (R language definition) manual useful. >Petr > ______________________________________________ [email protected] 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.
