Usage
count_values(
lyt,
vars,
values,
na_str = default_na_str(),
nested = TRUE,
...,
table_names = vars,
.stats = "count_fraction",
.formats = NULL,
.labels = c(count_fraction = paste(values, collapse = ", ")),
.indent_mods = NULL
)
s_count_values(
x,
values,
na.rm = TRUE,
.N_col,
.N_row,
denom = c("n", "N_row", "N_col")
)
# S3 method for character
s_count_values(x, values = "Y", na.rm = TRUE, ...)
# S3 method for factor
s_count_values(x, values = "Y", ...)
# S3 method for logical
s_count_values(x, values = TRUE, ...)
a_count_values(
x,
values,
na.rm = TRUE,
.N_col,
.N_row,
denom = c("n", "N_row", "N_col")
)
Arguments
- lyt
(
PreDataTableLayouts
)
layout that analyses will be added to.- vars
(
character
)
variable names for the primary analysis variable to be iterated over.- values
(
character
)
specific values that should be counted.- na_str
(
string
)
string used to replace allNA
or empty values in the output.- nested
(
flag
)
whether this layout instruction should be applied within the existing layout structure _if possible (TRUE
, the default) or as a new top-level element (FALSE
). Ignored if it would nest a split. underneath analyses, which is not allowed.- ...
additional arguments for the lower level functions.
- table_names
(
character
)
this can be customized in the case that the samevars
are analyzed multiple times, to avoid warnings fromrtables
.- .stats
(
character
)
statistics to select for the table. Runget_stats("count_values")
to see available statistics for this function.- .formats
(named
character
orlist
)
formats for the statistics. See Details inanalyze_vars
for more information on the"auto"
setting.- .labels
(named
character
)
labels for the statistics (without indent).- .indent_mods
(named
integer
)
indent modifiers for the labels. Defaults to 0, which corresponds to the unmodified default behavior. Can be negative.- x
(
numeric
)
vector of numbers we want to analyze.- na.rm
(
flag
)
whetherNA
values should be removed fromx
prior to analysis.- .N_col
(
integer(1)
)
column-wise N (column count) for the full column being analyzed that is typically passed byrtables
.- .N_row
(
integer(1)
)
row-wise N (row group count) for the group of observations being analyzed (i.e. with no column-based subsetting) that is typically passed byrtables
.- denom
-
(
string
)
choice of denominator for proportion. Options are:n
: number of values in this row and column intersection.N_row
: total number of values in this row across columns.N_col
: total number of values in this column across rows.
Value
count_values()
returns a layout object suitable for passing to further layouting functions, or tortables::build_table()
. Adding this function to anrtable
layout will add formatted rows containing the statistics froms_count_values()
to the table layout.
s_count_values()
returns output ofs_summary()
for specified values of a non-numeric variable.
a_count_values()
returns the corresponding list with formattedrtables::CellValue()
.
Functions
count_values()
: Layout-creating function which can take statistics function arguments and additional format arguments. This function is a wrapper forrtables::analyze()
.s_count_values()
: S3 generic function to count values.s_count_values(character)
: Method forcharacter
class.s_count_values(factor)
: Method forfactor
class. This makes an automatic conversion tocharacter
and then forwards to the method for characters.s_count_values(logical)
: Method forlogical
class.a_count_values()
: Formatted analysis function which is used asafun
incount_values()
.
Note
For
factor
variables,s_count_values
checks whethervalues
are all included in the levels ofx
and fails otherwise.For
count_values()
, variable labels are shown when there is more than one element invars
, otherwise they are hidden.
Examples
# `count_values`
basic_table() %>%
count_values("Species", values = "setosa") %>%
build_table(iris)
#> all obs
#> ————————————————————
#> setosa 50 (33.33%)
# `s_count_values.character`
s_count_values(x = c("a", "b", "a"), values = "a")
#> $n
#> [1] 3
#>
#> $count
#> [1] 2
#>
#> $count_fraction
#> [1] 2.0000000 0.6666667
#>
#> $n_blq
#> [1] 0
#>
s_count_values(x = c("a", "b", "a", NA, NA), values = "b", na.rm = FALSE)
#> $n
#> [1] 5
#>
#> $count
#> [1] 1
#>
#> $count_fraction
#> [1] 1.0 0.2
#>
#> $n_blq
#> [1] 0
#>
# `s_count_values.factor`
s_count_values(x = factor(c("a", "b", "a")), values = "a")
#> $n
#> [1] 3
#>
#> $count
#> [1] 2
#>
#> $count_fraction
#> [1] 2.0000000 0.6666667
#>
#> $n_blq
#> [1] 0
#>
# `s_count_values.logical`
s_count_values(x = c(TRUE, FALSE, TRUE))
#> $n
#> [1] 3
#>
#> $count
#> [1] 2
#>
#> $count_fraction
#> [1] 2.0000000 0.6666667
#>
#> $n_blq
#> [1] 0
#>
# `a_count_values`
a_count_values(x = factor(c("a", "b", "a")), values = "a", .N_col = 10, .N_row = 10)
#> RowsVerticalSection (in_rows) object print method:
#> ----------------------------
#> row_name formatted_cell indent_mod row_label
#> 1 n 3 0 n
#> 2 count 2 0 count
#> 3 count_fraction 2 (66.67%) 0 count_fraction
#> 4 n_blq 0 0 n_blq