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 allNAor 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 samevarsare 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
characterorlist)
formats for the statistics. See Details inanalyze_varsfor 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)
whetherNAvalues should be removed fromxprior 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 anrtablelayout 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 forcharacterclass.s_count_values(factor): Method forfactorclass. This makes an automatic conversion tocharacterand then forwards to the method for characters.s_count_values(logical): Method forlogicalclass.a_count_values(): Formatted analysis function which is used asafunincount_values().
Note
For
factorvariables,s_count_valueschecks whethervaluesare all included in the levels ofxand 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
