(The examples here are derived from a broom’s vignette)
Yes, I love plain texts. They are plain and simple. I know.
But sometimes they are too plain and overly simple.
lmfit <- lm(mpg ~ wt, mtcars)
lmfit
##
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
##
## Coefficients:
## (Intercept) wt
## 37.285 -5.344
summary(lmfit)
##
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.5432 -2.3647 -0.1252 1.4096 6.8727
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.2851 1.8776 19.858 < 2e-16 ***
## wt -5.3445 0.5591 -9.559 1.29e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446
## F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10
broom can tidy up it to data.frame
, which means now we can easily print prettier with some function like knitr::kable()
library(broom)
library(magrittr)
library(knitr)
tidy(lmfit) %>% kable
term | estimate | std.error | statistic | p.value |
---|---|---|---|---|
(Intercept) | 37.285126 | 1.877627 | 19.857575 | 0 |
wt | -5.344472 | 0.559101 | -9.559044 | 0 |
glance(lmfit) %>% kable(caption = "Table 2", digits = 3)
r.squared | adj.r.squared | sigma | statistic | p.value | df | logLik | AIC | BIC | deviance | df.residual |
---|---|---|---|---|---|---|---|---|---|---|
0.753 | 0.745 | 3.046 | 91.375 | 0 | 2 | -80.015 | 166.029 | 170.427 | 278.322 | 30 |
library(DT)
head(augment(lmfit)) %>% datatable