Skip to contents

Unites targeted table columns into a pair of name-level columns.

Usage

uniteNameLevel(
  x,
  cols = character(0),
  name = "group_name",
  level = "group_level",
  keep = FALSE,
  ignore = c(NA, "overall")
)

Arguments

x

A dataframe.

cols

Columns to aggregate.

name

Column name of the name column.

level

Column name of the level column.

keep

Whether to keep the original columns.

ignore

Level values to ignore.

Value

A tibble with the new columns.

Examples

x <- dplyr::tibble(
  variable = "number subjects",
  value = c(10, 15, 40, 78),
  sex = c("Male", "Female", "Male", "Female"),
  age_group = c("<40", ">40", ">40", "<40")
)

x |>
  uniteNameLevel(
    cols = c("sex", "age_group"),
    name = "new_column_name",
    level = "new_column_level"
  )
#> # A tibble: 4 × 4
#>   variable        value new_column_name   new_column_level
#>   <chr>           <dbl> <chr>             <chr>           
#> 1 number subjects    10 sex &&& age_group Male &&& <40    
#> 2 number subjects    15 sex &&& age_group Female &&& >40  
#> 3 number subjects    40 sex &&& age_group Male &&& >40    
#> 4 number subjects    78 sex &&& age_group Female &&& <40