Hello,
I need a shorter summary.lm, instead of
--------------------------------------------
Call:
lm(formula = E$t ~ E$cfs)
Residuals:
Min 1Q Median 3Q Max
-0.239674 -0.007694 0.006430 0.014330 2.496551
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.994e-02 1.419e-04 -140.5 <2e-16 ***
E$cfs 1.675e-05 4.714e-09 3552.7 <2e-16 ***
---
Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
Residual standard error: 0.03238 on 65268 degrees of freedom
Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949
F-statistic: 1.262e+07 on 1 and 65268 DF, p-value: < 2.2e-16
--------------------------------------------
I need
--------------------------------------------
lm(formula = E$t ~ E$cfs)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.994e-02 1.419e-04 -140.5 <2e-16 ***
E$cfs 1.675e-05 4.714e-09 3552.7 <2e-16 ***
Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949
--------------------------------------------
I looked at the code of summary.lm, with the intention
to copy parts of it into a new function "short_sum_lm",
but couldn't find the parts I'm interested in.
I hope it's not too complicated to achieve that.
(In general it would be great to have more influence
on the summary-function -- typically it's too spacious.)
Thanks for your attention
Oliver
Hi Oliver,
For the the output you would like to have, you may take a look at
names(summary(yourmodel))
str(summary(yourmodel))
The above will help you to extract the components you need from the lm
object.
Below is my attempt to do what you want. However, you will need to work
a little more in order to get the "***" besides the p-values ;-)
Also,
note that it is assumed that the "lm" function is used to build up the
linear model.
# function
myout <- function(lmfit, k = 22){
res <- summary(fit)
cat(rep("--", k), "\n")
print(res$call)
print(res$coef)
cat('Multiple R-squared:', res$r.squared, ' Adjusted
R-squared:', res$adj.r.squared, "\n")
cat(rep("--", k), "\n")
}
# some data
set.seed(123)
x1 <- rnorm(100)
x2 <- rnorm(100)
y <- .5 + 1.2*x1 - .2*x2 + rnorm(100)
# linear model
fit <- lm(y ~ x1 + x2)
myout(fit)
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
lm(formula = y ~ x1 + x2)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.6350654 0.09614007 6.605627 2.129617e-09
x1 1.0668285 0.10486949 10.172915 5.677194e-17
x2 -0.1761887 0.09899469 -1.779779 7.824368e-02
Multiple R-squared: 0.5284765 Adjusted R-squared: 0.5187544
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
HTH,
Jorge
On 8/21/11 3:16 AM, Oliver Kullmann wrote:> Hello,
>
> I need a shorter summary.lm, instead of
> --------------------------------------------
> Call:
> lm(formula = E$t ~ E$cfs)
>
> Residuals:
> Min 1Q Median 3Q Max
> -0.239674 -0.007694 0.006430 0.014330 2.496551
>
> Coefficients:
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) -1.994e-02 1.419e-04 -140.5<2e-16 ***
> E$cfs 1.675e-05 4.714e-09 3552.7<2e-16 ***
> ---
> Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>
> Residual standard error: 0.03238 on 65268 degrees of freedom
> Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949
> F-statistic: 1.262e+07 on 1 and 65268 DF, p-value:< 2.2e-16
> --------------------------------------------
>
> I need
>
> --------------------------------------------
> lm(formula = E$t ~ E$cfs)
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) -1.994e-02 1.419e-04 -140.5<2e-16 ***
> E$cfs 1.675e-05 4.714e-09 3552.7<2e-16 ***
> Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949
> --------------------------------------------
>
> I looked at the code of summary.lm, with the intention
> to copy parts of it into a new function "short_sum_lm",
> but couldn't find the parts I'm interested in.
>
> I hope it's not too complicated to achieve that.
> (In general it would be great to have more influence
> on the summary-function -- typically it's too spacious.)
>
> Thanks for your attention
>
> Oliver
>
> ______________________________________________
> R-help at r-project.org 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.
On Aug 21, 2011, at 3:16 AM, Oliver Kullmann wrote:> Hello, > > I need a shorter summary.lm, instead of > -------------------------------------------- > Call: > lm(formula = E$t ~ E$cfs) > > Residuals: > Min 1Q Median 3Q Max > -0.239674 -0.007694 0.006430 0.014330 2.496551 > > Coefficients: > Estimate Std. Error t value Pr(>|t|) > (Intercept) -1.994e-02 1.419e-04 -140.5 <2e-16 *** > E$cfs 1.675e-05 4.714e-09 3552.7 <2e-16 *** > --- > Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1 > > Residual standard error: 0.03238 on 65268 degrees of freedom > Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949 > F-statistic: 1.262e+07 on 1 and 65268 DF, p-value: < 2.2e-16 > -------------------------------------------- > > I need > > -------------------------------------------- > lm(formula = E$t ~ E$cfs) > Estimate Std. Error t value Pr(>|t|) > (Intercept) -1.994e-02 1.419e-04 -140.5 <2e-16 *** > E$cfs 1.675e-05 4.714e-09 3552.7 <2e-16 *** > Multiple R-squared: 0.9949, Adjusted R-squared: 0.9949 > -------------------------------------------- > > I looked at the code of summary.lm, with the intention > to copy parts of it into a new function "short_sum_lm", > but couldn't find the parts I'm interested in. > > I hope it's not too complicated to achieve that. > (In general it would be great to have more influence > on the summary-function -- typically it's too spacious.)When you simply type summary.lm there is an implicit call to print.summary.lm but its code is not visible unless you use getAnywhere(print.summary.lm ). Reading the code you find that the coefficient matrix and the significance stars are handled by a function , so this should give you what you want: printCoefmat(summary(model)$coefficients) -- David Winsemius, MD West Hartford, CT
Seemingly Similar Threads
- Extreme AIC or BIC values in glm(), logistic regression
- Surprising results from summary(lm()) on data with NO variation
- comparing glm models - lower AIC but insignificant coefficients
- Re: [nbdkit PATCH v2 0/4] enable parallel nbd forwarding
- Re: how l (PR#3614)