h_split_by_subgroups(data, subgroups, groups_lists = list())
(data.frame
)
dataset to split.
(character
)
names of factor variables from data
used to create subsets.
Unused levels not present in data
are dropped. Note that the order in this vector
determines the order in the downstream table.
(named list
of list
)
optionally contains for each subgroups
variable a
list, which specifies the new group levels via the names and the
levels that belong to it in the character vectors that are elements of the list.
A list with subset data (df
) and metadata about the subset (df_labels
).
Main functionality is to prepare data for use in forest plot layouts.
df <- data.frame(
x = c(1:5),
y = factor(c("A", "B", "A", "B", "A"), levels = c("A", "B", "C")),
z = factor(c("C", "C", "D", "D", "D"), levels = c("D", "C"))
)
formatters::var_labels(df) <- paste("label for", names(df))
h_split_by_subgroups(
data = df,
subgroups = c("y", "z")
)
#> $y.A
#> $y.A$df
#> x y z
#> 1 1 A C
#> 2 3 A D
#> 3 5 A D
#>
#> $y.A$df_labels
#> subgroup var var_label
#> 1 A y label for y
#>
#>
#> $y.B
#> $y.B$df
#> x y z
#> 1 2 B C
#> 2 4 B D
#>
#> $y.B$df_labels
#> subgroup var var_label
#> 1 B y label for y
#>
#>
#> $z.D
#> $z.D$df
#> x y z
#> 1 3 A D
#> 2 4 B D
#> 3 5 A D
#>
#> $z.D$df_labels
#> subgroup var var_label
#> 1 D z label for z
#>
#>
#> $z.C
#> $z.C$df
#> x y z
#> 1 1 A C
#> 2 2 B C
#>
#> $z.C$df_labels
#> subgroup var var_label
#> 1 C z label for z
#>
#>
h_split_by_subgroups(
data = df,
subgroups = c("y", "z"),
groups_lists = list(
y = list("AB" = c("A", "B"), "C" = "C")
)
)
#> $y.AB
#> $y.AB$df
#> x y z
#> 1 1 A C
#> 2 2 B C
#> 3 3 A D
#> 4 4 B D
#> 5 5 A D
#>
#> $y.AB$df_labels
#> subgroup var var_label
#> 1 AB y label for y
#>
#>
#> $z.D
#> $z.D$df
#> x y z
#> 1 3 A D
#> 2 4 B D
#> 3 5 A D
#>
#> $z.D$df_labels
#> subgroup var var_label
#> 1 D z label for z
#>
#>
#> $z.C
#> $z.C$df
#> x y z
#> 1 1 A C
#> 2 2 B C
#>
#> $z.C$df_labels
#> subgroup var var_label
#> 1 C z label for z
#>
#>