analyze {rtables} | R Documentation |
Generate rows analyzing variables across columns
Description
Adding analyzed variables to our table layout defines the primary tabulation to be performed. We do this by
adding calls to analyze
and/or analyze_colvars()
into our layout pipeline. As with adding further splitting,
the tabulation will occur at the current/next level of nesting by default.
Usage
analyze(
lyt,
vars,
afun = simple_analysis,
var_labels = vars,
table_names = vars,
format = NULL,
na_str = NA_character_,
nested = TRUE,
inclNAs = FALSE,
extra_args = list(),
show_labels = c("default", "visible", "hidden"),
indent_mod = 0L,
section_div = NA_character_
)
Arguments
lyt |
( |
vars |
( |
afun |
( |
var_labels |
( |
table_names |
( |
format |
( |
na_str |
( |
nested |
( |
inclNAs |
( |
extra_args |
( |
show_labels |
( |
indent_mod |
( |
section_div |
( |
Details
When non-NULL
, format
is used to specify formats for all generated rows, and can be a character vector, a
function, or a list of functions. It will be repped out to the number of rows once this is calculated during the
tabulation process, but will be overridden by formats specified within rcell
calls in afun
.
The analysis function (afun
) should take as its first parameter either x
or df
. Whichever of these the
function accepts will change the behavior when tabulation is performed as follows:
If
afun
's first parameter isx
, it will receive the corresponding subset vector of data from the relevant column (fromvar
here) of the raw data being used to build the table.If
afun
's first parameter isdf
, it will receive the corresponding subset data frame (i.e. all columns) of the raw data being tabulated.
In addition to differentiation on the first argument, the analysis function can optionally accept a number of other parameters which, if and only if present in the formals, will be passed to the function by the tabulation machinery. These are listed and described in additional_fun_params.
Value
A PreDataTableLayouts
object suitable for passing to further layouting functions, and to build_table()
.
Note
None of the arguments described in the Details section can be overridden via extra_args
or when calling
make_afun()
. .N_col
and .N_total
can be overridden via the col_counts
argument to build_table()
.
Alternative values for the others must be calculated within afun
based on a combination of extra arguments and
the unmodified values provided by the tabulation framework.
Author(s)
Gabriel Becker
Examples
lyt <- basic_table() %>%
split_cols_by("ARM") %>%
analyze("AGE", afun = list_wrap_x(summary), format = "xx.xx")
lyt
tbl <- build_table(lyt, DM)
tbl
lyt2 <- basic_table() %>%
split_cols_by("Species") %>%
analyze(head(names(iris), -1), afun = function(x) {
list(
"mean / sd" = rcell(c(mean(x), sd(x)), format = "xx.xx (xx.xx)"),
"range" = rcell(diff(range(x)), format = "xx.xx")
)
})
lyt2
tbl2 <- build_table(lyt2, iris)
tbl2