Home > database >  How to reduce the regression output in markdown
How to reduce the regression output in markdown

Time:07-08

I want to show a regression output in markdown but it contains a lot of character variables which result in a lot of independent variables. Is there any way to only show in the summary the first 5 variables? The summary function in combination with the options(max.print=80) does not provide the solution I want.

CodePudding user response:

You can use tidy() function from broom package

library(broom)
library(magrittr)

lm(mpg ~ ., data = mtcars) %>% tidy() %>% head(n = 5)

#> # A tibble: 5 × 5
#>   term        estimate std.error statistic p.value
#>   <chr>          <dbl>     <dbl>     <dbl>   <dbl>
#> 1 (Intercept)  12.3      18.7        0.657   0.518
#> 2 cyl          -0.111     1.05      -0.107   0.916
#> 3 disp          0.0133    0.0179     0.747   0.463
#> 4 hp           -0.0215    0.0218    -0.987   0.335
#> 5 drat          0.787     1.64       0.481   0.635

Created on 2022-07-08 by the reprex package (v2.0.1)

CodePudding user response:

If I understand you correctly, you could for example subset the coefficients from the variables you want like this (I use mtcars dataset as an example):

model = lm(mpg ~ ., data=mtcars)
smy = summary(model)
smy$coefficients[1:5,]
#>                Estimate  Std. Error    t value  Pr(>|t|)
#> (Intercept) 12.30337416 18.71788443  0.6573058 0.5181244
#> cyl         -0.11144048  1.04502336 -0.1066392 0.9160874
#> disp         0.01333524  0.01785750  0.7467585 0.4634887
#> hp          -0.02148212  0.02176858 -0.9868407 0.3349553
#> drat         0.78711097  1.63537307  0.4813036 0.6352779

Created on 2022-07-07 by the reprex package (v2.0.1)

  • Related