Generate and output a huxtable with desired properties During this function call, the huxtable can be written to an RTF or displayed in HTML.
gentlg(
huxme = NULL,
tlf = "Table",
format = "rtf",
colspan = NULL,
idvars = NULL,
plotnames = NULL,
plotwidth = NULL,
plotheight = NULL,
wcol = 0.45,
orientation = "portrait",
opath = ".",
title_file = NULL,
file = NULL,
title = NULL,
footers = NULL,
print.hux = TRUE,
watermark = NULL,
colheader = NULL,
pagenum = FALSE
)
(optional) For tables and listings, An input dataframe containing all columns of interest. For graphs, either NULL or a ggplot object.
(optional) String, representing the output choice. Choices are "Table" "Listing" "Figure". Abbreviations are allowed eg "T" for Table. Strings can be either upper- or lowercase. (Default = "Table")
(optional) String, representing the output format. Choices are "rtf" and "html". Strings can be either upper- or lowercase.(Default = "rtf")
(optional) A list of character vectors representing the spanning headers to be used for the table or listing. The first vector represents the top spanning header, etc. Each vector should have a length equal to the number of columns in the output data frame. A spanning header is identified through the use of the same column name in adjacent elements.
(optional) Character vector defining the columns of a listing where repeated values should be removed recursively. If NULL then all column names are used in the algorithm. If NA, then the listing remains as is.
(optional) Character vector containing the names of the png
files, with their extension to be incorporated for figure outputs.
The png files need to be located in the path defined by the parameter opath
.
(optional) Numerical value that indicates the plot width in cm for figure outputs. (Default = 6)
(optional) Numerical value that indicates the plot height in cm for figure outputs. (Default = 5)
(optional) Can be a single numerical value that represents the
width of the first column or a vector, specifying the lengths of all columns
in the final table or listing.
When a single numerical value is used, this will be taken as the column width
for the first column. The other columns will be equally spaced across the
remainder of the available space. Alternatively, a vector can be used to
represent the widths of all columns in the final output. The order of the
arguments needs to correspond to the order of the columns in the huxme
dataset, that are not part of the formatting algorithms
(eg anbr, roworder, newpage, newrow, indentme, boldme, by_value, by_order).
The sum of the widths in the vector needs to be less or equal to one. When
'format="HTML"' wcol can take only one value, the width of the first column.
(Default = 0.45)
(optional) String: "portrait" or "landscape". (Default = "portrait")
(optional) File path pointing to the output files (including .png files for graphs). (Default = ".")
An Excel file that will be read in
with readxl::read_excel()
to be used as the title
and footers
arugment.
The use of title
or footers
will override the values passed by this
argument. The file should be either an xls or xlsx file with the columns
'TABLE ID', 'IDENTIFIER', and TEXT'. The file will be read in, subset to
where the tblid matches the tlf argument, and identifiers with 'title' or
'footnote' will be used to populate the table.
(required) String. Output identifier. File name will be adjusted to be lowercase and have - and _ removed, this will not affect table title.
(required) String. Title of the output.
(optional) Character vector, containing strings of footnotes to be included.
(optional) Logical, indicating whether the output should be
printed to RTF ('format' = "rtf") / displayed as HTML ('format' = "HTML").
(Default = TRUE) Note that RTF is written using quick_rtf_jnj()
function and that the HTML is displayed via the huxtable::print_html
function.
(optional) String containing the desired watermark for RTF outputs.
(optional) Character vector that contains the column labels for a table or listing. Default uses the column labels of huxme.
(optional) Logical. When true page numbers are added on the right side of the footer section in the format page x/y. (Default = FALSE)
Formatted huxtable with desired properties for output to an RTF/HTML
For tables and listings, formatting of the output can be dictated through the
formatting columns
(newrows
, indentme
, boldme
, newpage
), present in the input dataframe.
The final huxtable will display all columns of the input dataframe, except
any recognized formatting/sorting columns.
For tables, the algorithm uses
the column label
as first column. The remaining columns are treated as
summary columns.
For graphs, you can pass a ggplot object directly into huxme and gentlg will
save a png with with ggplot2::ggsave()
and output an rtf.
final <- data.frame(
label = c(
"Overall", "Safety Analysis Set",
"Any Adverse event{\\super a}", "- Serious Adverse Event"
),
Drug_A = c("", "40", "10 (25%)", "0"),
Drug_B = c("", "40", "10 (25%)", "0"),
anbr = c(1, 2, 3, 4),
roworder = c(1, 1, 1, 1),
boldme = c(1, 0, 0, 0),
newrows = c(0, 0, 1, 0),
indentme = c(0, 0, 0, 1),
newpage = c(0, 0, 0, 0)
)
# Produce output in rtf format
gentlg(
huxme = final,
wcol = c(0.70, 0.15, 0.15),
file = "TSFAEX",
title = "This is Amazing Demonstration 1",
footers = c(
"Note: For demonstrative purposes only",
"{\\super a} Subjects are counted once for any given event."
)
)
#> Warning: Column header not used; 9 column header provided, but data contain 3 columns
#> Warning: path[1]="-": No such file or directory
# Pass in column headers instead of using variable name
gentlg(
huxme = final,
wcol = c(0.70, 0.15, 0.15),
file = "TSFAEX",
colheader = c("", "Drug A", "Drug B"),
title = "This is Amazing Demonstration 1",
footers = c(
"Note: For demonstrative purposes only",
"{\\super a} Subjects are counted once for any given event."
)
)
#> Warning: path[1]="-": No such file or directory
# Use a watermark
gentlg(
huxme = final,
wcol = c(0.70, 0.15, 0.15),
file = "TSFAEX",
colheader = c("", "Drug A", "Drug B"),
title = "This is Amazing Demonstration 1",
footers = c(
"Note: For demonstrative purposes only",
"{\\super a} Subjects are counted once for any given event."
),
watermark = "Confidential"
)
#> Warning: path[1]="-": No such file or directory
# Produce output in HTML format
hux <- gentlg(
huxme = final,
file = "TSFAEX",
colheader = c("", "Drug A", "Drug B"),
title = "This is Amazing Demonstration 1",
footers = c(
"Note: For demonstrative purposes only",
"{\\super a} Subjects are counted once for any given event."
),
watermark = "Confidential",
format = "HTML",
print.hux = FALSE
)
#> Warning: path[1]="-": No such file or directory
# Export to HTML page
huxtable::quick_html(hux, file = "TSFAEX.html", open = FALSE)
# clean up.
file.remove("TSFAEX.html", "tsfaex.rtf")
#> [1] TRUE TRUE