Overview
The objective of this package is to facilitate producing reports using Rmarkdown, so the functions are of that type that you “you always have to use, but you always have to create”.
The core function : pdf1_tbl
This is the main function of mypdf1
, with her you can
make tables in HTML
or latex
format, the main
idea is to provide minimal parameters to create their own table, so you
just need to provide a data.frame
.
Tree | n |
---|---|
3 | 7 |
1 | 7 |
5 | 7 |
2 | 7 |
4 | 7 |
As you can see the only parameters is df
, you can put a
title in the table using title
df |>
mypdf1::pdf1_tbl(title = "My Title!", full_page = F)
Tree | n |
---|---|
3 | 7 |
1 | 7 |
5 | 7 |
2 | 7 |
4 | 7 |
The value of format will be automatically determined if the function
is called within a knitr document, but in your section, the default
format is html
, if you want to change just use the argument
format
which the possibles values are html
or
latex
. If you want the code that generates the table you
can use the argument code
.
df |>
mypdf1::pdf1_tbl(title = "My Title!", code = T, format = "latex")
You can choose if you want rows separating the cells in the table
(LaTeX version), using tabs = TRUE
pdf1_freq_tbl
This function creates a frequency table, you only need to supply a
data.frame
and the variable to make the table.
infert |>
mypdf1::pdf1_freq_tbl(education)
#> # A tibble: 4 × 3
#> education absolute_frequency relative_frequency
#> <chr> <int> <dbl>
#> 1 0-5yrs 12 0.0484
#> 2 6-11yrs 120 0.484
#> 3 12+ yrs 116 0.468
#> 4 Total 248 1
If you want to generate a table using the output, just combine it
with pdf1_tbl
infert |>
mypdf1::pdf1_freq_tbl(education) |>
mypdf1::pdf1_tbl()
education | absolute_frequency | relative_frequency |
---|---|---|
0-5yrs | 12 | 0.0484 |
6-11yrs | 120 | 0.4839 |
12+ yrs | 116 | 0.4677 |
Total | 248 | 1.0000 |
You can order the output using sort_by
, which has two
options: absolute_frequency
and
relative_frequency
.
chickwts |>
mypdf1::pdf1_freq_tbl(feed, sort_by = absolute_frequency)
#> # A tibble: 7 × 3
#> feed absolute_frequency relative_frequency
#> <chr> <int> <dbl>
#> 1 horsebean 10 0.141
#> 2 meatmeal 11 0.155
#> 3 casein 12 0.169
#> 4 linseed 12 0.169
#> 5 sunflower 12 0.169
#> 6 soybean 14 0.197
#> 7 Total 71 1.00
And if you want decreasing order put desc = T
chickwts |>
mypdf1::pdf1_freq_tbl(feed, desc = T, sort_by = relative_frequency)
#> # A tibble: 7 × 3
#> feed absolute_frequency relative_frequency
#> <chr> <int> <dbl>
#> 1 soybean 14 0.197
#> 2 casein 12 0.169
#> 3 linseed 12 0.169
#> 4 sunflower 12 0.169
#> 5 meatmeal 11 0.155
#> 6 horsebean 10 0.141
#> 7 Total 71 1.00
pdf1_cross_tbl
This function makes cross tables, like all functions from
mypdf1
you need to supply a data.frame
, and in
this case two variables.
infert |>
mypdf1::pdf1_cross_tbl(education, spontaneous)
spontaneous
|
||||
---|---|---|---|---|
education | 0 | 1 | 2 | Total |
0-5yrs | 9 | 1 | 2 | 12 |
6-11yrs | 71 | 33 | 16 | 120 |
12+ yrs | 61 | 37 | 18 | 116 |
Total | 141 | 71 | 36 | 248 |
The second variable (var2
) is on the top of the table,
if you want the marginal row table use marg = TRUE
.
infert |>
mypdf1::pdf1_cross_tbl(education, spontaneous, marg = T)
spontaneous
|
|||
---|---|---|---|
education | 0 | 1 | 2 |
0-5yrs | 0.7500000 | 0.0833333 | 0.1666667 |
6-11yrs | 0.5916667 | 0.2750000 | 0.1333333 |
12+ yrs | 0.5258621 | 0.3189655 | 0.1551724 |
pdf1_summary
In the base R we have the function summary, but the output is no by
default a data.frame
, so pdf1_summary
is an
enhancement of this function to summarize data frames.
mtcars |>
mypdf1::pdf1_summary()
#> # A tibble: 11 × 7
#> variable mean median sd min max na_count
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 mpg 20.1 19.2 6.03 10.4 33.9 0
#> 2 cyl 6.19 6 1.79 4 8 0
#> 3 disp 231. 196. 124. 71.1 472 0
#> 4 hp 147. 123 68.6 52 335 0
#> 5 drat 3.60 3.70 0.535 2.76 4.93 0
#> 6 wt 3.22 3.32 0.978 1.51 5.42 0
#> 7 qsec 17.8 17.7 1.79 14.5 22.9 0
#> 8 vs 0.438 0 0.504 0 1 0
#> 9 am 0.406 0 0.499 0 1 0
#> 10 gear 3.69 4 0.738 3 5 0
#> 11 carb 2.81 2 1.62 1 8 0
As you’ve probably noticed, the output is a tibble
, so
you can combine with pdf1_tbl
mtcars |>
mypdf1::pdf1_summary() |>
mypdf1::pdf1_tbl("Summary of mtcars")
variable | mean | median | sd | min | max | na_count |
---|---|---|---|---|---|---|
mpg | 20.091 | 19.200 | 6.027 | 10.400 | 33.900 | 0 |
cyl | 6.188 | 6.000 | 1.786 | 4.000 | 8.000 | 0 |
disp | 230.722 | 196.300 | 123.939 | 71.100 | 472.000 | 0 |
hp | 146.688 | 123.000 | 68.563 | 52.000 | 335.000 | 0 |
drat | 3.597 | 3.695 | 0.535 | 2.760 | 4.930 | 0 |
wt | 3.217 | 3.325 | 0.978 | 1.513 | 5.424 | 0 |
qsec | 17.849 | 17.710 | 1.787 | 14.500 | 22.900 | 0 |
vs | 0.438 | 0.000 | 0.504 | 0.000 | 1.000 | 0 |
am | 0.406 | 0.000 | 0.499 | 0.000 | 1.000 | 0 |
gear | 3.688 | 4.000 | 0.738 | 3.000 | 5.000 | 0 |
carb | 2.812 | 2.000 | 1.615 | 1.000 | 8.000 | 0 |