mergeDesc {Gmisc} | R Documentation |
Prepares a matrix for htmlTable
from a list
Description
By putting all the output from the getDescriptionStatsBy
into a list, naming each element that we want in an rgroup
we can
automatically merge everything and create an object ready for the
htmlTable
.
Usage
mergeDesc(..., htmlTable_args = list())
Arguments
... |
One or more elements coming from |
htmlTable_args |
Any arguments that should be passed to
|
Value
matrix
Returns a matrix object of class descList
The rgroup
value
The value for the rgroup
is by default the name of the list element. If you have
passed a list without a name for that particular element or if you have passed a
matrix it will look for a label set by the Hmisc::label
function.
For those elements that have only one row no rgroup
is set, and the naming sequence
is the same as above but with an additional rownames
if the previous
two turn out empty. All this behavior is exemplified in the example.
The rgroup
value can be overridden by simply specifying a custom rgroup
when
calling the htmlTable
function.
The colnames
of the matrix
The function chooses the colnames
from the first element in
the tlist
.
Examples
library(magrittr)
library(dplyr)
library(htmlTable)
data(mtcars)
mtcars %<>%
mutate(am = factor(am, levels = 0:1, labels = c("Automatic", "Manual")),
vs = factor(vs, levels = 0:1, labels = c("V-shaped", "straight")),
drat_prop = drat > median(drat),
drat_prop = factor(drat_prop,
levels = c(FALSE, TRUE),
labels = c("High ratio", "Low ratio")),
carb_prop = carb > 2,
carb_prop = factor(carb_prop,
levels = c(FALSE, TRUE),
labels = c("≤ 2", "> 2")),
across(c(gear, carb, cyl), factor))
# A simple bare-bone example
mtcars %>%
getDescriptionStatsBy(`Miles per gallon` = mpg,
Weight = wt,
`Carborators ≤ 2` = carb_prop,
by = am) %>%
htmlTable(caption = "Basic continuous stats from the mtcars dataset")
invisible(readline(prompt = "Press [enter] to continue"))
# For labeling & units we use set_column_labels/set_column_unit that use
# the Hmisc package annotation functions
mtcars %<>%
set_column_labels(am = "Transmission",
mpg = "Gas",
wt = "Weight",
gear = "Gears",
disp = "Displacement",
vs = "Engine type",
drat_prop = "Rear axel ratio",
carb_prop = "Carburetors") %>%
set_column_units(mpg = "Miles/(US) gallon",
wt = "10<sup>3</sup> lbs",
disp = "cu.in.")
mtcars %>%
getDescriptionStatsBy(mpg,
wt,
`Gear†` = gear,
drat_prop,
carb_prop,
vs,
by = am,
header_count = TRUE,
use_units = TRUE,
show_all_values = TRUE) %>%
addHtmlTableStyle(pos.caption = "bottom") %>%
htmlTable(caption = "Stats from the mtcars dataset",
tfoot = "† Number of forward gears")
invisible(readline(prompt = "Press [enter] to continue"))
# Using the default parameter we can
mtcars %>%
getDescriptionStatsBy(mpg,
wt,
`Gear†` = gear,
drat_prop,
carb_prop,
vs,
by = am,
header_count = TRUE,
use_units = TRUE,
default_ref = c(drat_prop = "Low ratio",
carb_prop = "> 2")) %>%
addHtmlTableStyle(pos.caption = "bottom") %>%
htmlTable(caption = "Stats from the mtcars dataset",
tfoot = "† Number of forward gears")
invisible(readline(prompt = "Press [enter] to continue"))
# We can also use lists
tll <- list()
tll[["Gear (3 to 5)"]] <- getDescriptionStatsBy(mtcars$gear, mtcars$am)
tll <- c(tll,
list(getDescriptionStatsBy(mtcars$disp, mtcars$am)))
mergeDesc(tll,
htmlTable_args = list(caption = "Factored variables")) %>%
htmlTable::addHtmlTableStyle(css.rgroup = "")
invisible(readline(prompt = "Press [enter] to continue"))
tl_no_units <- list()
tl_no_units[["Gas (mile/gallons)"]] <-
getDescriptionStatsBy(mtcars$mpg, mtcars$am,
header_count = TRUE)
tl_no_units[["Weight (10<sup>3</sup> kg)"]] <-
getDescriptionStatsBy(mtcars$wt, mtcars$am,
header_count = TRUE)
mergeDesc(tl_no_units,
tll) %>%
htmlTable::addHtmlTableStyle(css.rgroup = "")
invisible(readline(prompt = "Press [enter] to continue"))
# Other settings
mtcars$mpg[sample(1:NROW(mtcars), size = 5)] <- NA
getDescriptionStatsBy(mtcars$mpg,
mtcars$am,
statistics = TRUE)
invisible(readline(prompt = "Press [enter] to continue"))
# Do the horizontal version
getDescriptionStatsBy(mtcars$gear,
mtcars$am,
statistics = TRUE,
hrzl_prop = TRUE)
invisible(readline(prompt = "Press [enter] to continue"))
mtcars$wt_with_missing <- mtcars$wt
mtcars$wt_with_missing[sample(1:NROW(mtcars), size = 8)] <- NA
getDescriptionStatsBy(mtcars$wt_with_missing, mtcars$am, statistics = TRUE,
hrzl_prop = TRUE, total_col_show_perc = FALSE)
invisible(readline(prompt = "Press [enter] to continue"))
## Not run:
## There is also a LaTeX wrapper
tll <- list(
getDescriptionStatsBy(mtcars$gear, mtcars$am),
getDescriptionStatsBy(mtcars$col, mtcars$am))
latex(mergeDesc(tll),
caption = "Factored variables",
file = "")
## End(Not run)