mergeDesc | R Documentation |
htmlTable
from a listBy 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
.
mergeDesc(..., htmlTable_args = list())
... |
One or more elements coming from |
htmlTable_args |
Any arguments that should be passed to
|
matrix
Returns a matrix object of class descList
rgroup
valueThe 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.
colnames
of the matrixThe function chooses the colnames
from the first element in
the tlist
.
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.