3 crosstable - Extracting the basic statistics
library(crosstable)
crosstable(mtcars)
## # A tibble: 40 × 4
##    .id   label variable   value              
##    <chr> <chr> <chr>      <chr>              
##  1 mpg   mpg   Min / Max  10.4 / 33.9        
##  2 mpg   mpg   Med [IQR]  19.2 [15.4;22.8]   
##  3 mpg   mpg   Mean (std) 20.1 (6.0)         
##  4 mpg   mpg   N (NA)     32 (0)             
##  5 cyl   cyl   4          11 (34.38%)        
##  6 cyl   cyl   6          7 (21.88%)         
##  7 cyl   cyl   8          14 (43.75%)        
##  8 disp  disp  Min / Max  71.1 / 472.0       
##  9 disp  disp  Med [IQR]  196.3 [120.8;326.0]
## 10 disp  disp  Mean (std) 230.7 (123.9)      
## # ℹ 30 more rows3.1 crosstable + flextable
library(crosstable)
library(flextable)
tab <- crosstable(mtcars, c(mpg, cyl))
tab <- flextable(tab)
tab.id  | label  | variable  | value  | 
|---|---|---|---|
mpg  | mpg  | Min / Max  | 10.4 / 33.9  | 
mpg  | mpg  | Med [IQR]  | 19.2 [15.4;22.8]  | 
mpg  | mpg  | Mean (std)  | 20.1 (6.0)  | 
mpg  | mpg  | N (NA)  | 32 (0)  | 
cyl  | cyl  | 4  | 11 (34.38%)  | 
cyl  | cyl  | 6  | 7 (21.88%)  | 
cyl  | cyl  | 8  | 14 (43.75%)  | 
3.2 Making some improvements
tab <- crosstable(mtcars, c(mpg, cyl))
tab <- flextable(tab, col_keys=c("label", "variable", "value"))
tab <- merge_v(tab, j="label")
tab <- flextable::align(tab, part="all", align="center")
tab <- mk_par(tab, j=1, value=as_paragraph(as_chunk("Variable")), part="header")
tab <- mk_par(tab, j=2, value=as_paragraph(as_chunk("Statistic")), part="header")
tab <- mk_par(tab, j=3, value=as_paragraph(as_chunk("Result")), part="header")
tabVariable  | Statistic  | Result  | 
|---|---|---|
mpg  | Min / Max  | 10.4 / 33.9  | 
Med [IQR]  | 19.2 [15.4;22.8]  | |
Mean (std)  | 20.1 (6.0)  | |
N (NA)  | 32 (0)  | |
cyl  | 4  | 11 (34.38%)  | 
6  | 7 (21.88%)  | |
8  | 14 (43.75%)  | 
Variable  | Statistic  | Result  | 
|---|---|---|
mpg  | Min / Max  | 10.4 / 33.9  | 
Med [IQR]  | 19.2 [15.4;22.8]  | |
Mean (std)  | 20.1 (6.0)  | |
N (NA)  | 32 (0)  | |
cyl  | 4  | 11 (34.38%)  | 
6  | 7 (21.88%)  | |
8  | 14 (43.75%)  |