View source: R/group_enrichment.R
| group_enrichment | R Documentation |
This function takes a data.frame as input, compares proportion of positive
cases or mean measure in one subgroup and the remaining samples.
group_enrichment(
df,
grp_vars = NULL,
enrich_vars = NULL,
cross = TRUE,
co_method = c("t.test", "wilcox.test"),
ref_group = NA
)
df |
a |
grp_vars |
character vector specifying group variables to split samples into subgroups (at least 2 subgroups, otherwise this variable will be skipped). |
enrich_vars |
character vector specifying measure variables to be compared.
If variable is not numeric, only binary cases are accepted in the form of
|
cross |
logical, default is |
co_method |
test method for continuous variable, default is 't.test'. |
ref_group |
reference group set in |
a data.table with following columns:
grp_var: group variable name.
enrich_var: enrich variable (variable to be compared) name.
grp1: the first group name, should be a member in grp_var column.
grp2: the remaining samples, marked as 'Rest'.
grp1_size: sample size for grp1.
grp1_pos_measure: for binary variable, it stores the proportion of
positive cases in grp1; for continuous variable, it stores mean value.
grp2_size: sample size for grp2.
grp2_pos_measure: same as grp1_pos_measure but for grp2.
measure_observed: for binary variable, it stores odds ratio;
for continuous variable, it stores scaled mean ratio.
measure_tested: only for binary variable, it stores
estimated odds ratio and its 95% CI from fisher.test().
p_value: for binary variable, it stores p value from fisher.test();
for continuous variable, it stores value from wilcox.test() or t.test().
type: one of "binary" and "continuous".
method: one of "fish.test", "wilcox.test" and "t.test".
show_group_enrichment
set.seed(1234)
df <- dplyr::tibble(
g1 = factor(abs(round(rnorm(99, 0, 1)))),
g2 = rep(LETTERS[1:4], c(50, 40, 8, 1)),
e1 = sample(c("P", "N"), 99, replace = TRUE),
e2 = rnorm(99)
)
print(str(df))
print(head(df))
# Compare g1:e1, g1:e2, g2:e1 and g2:e2
x1 <- group_enrichment(df, grp_vars = c("g1", "g2"), enrich_vars = c("e1", "e2"))
x1
# Only compare g1:e1, g2:e2
x2 <- group_enrichment(df,
grp_vars = c("g1", "g2"),
enrich_vars = c("e1", "e2"),
co_method = "wilcox.test",
cross = FALSE
)
x2
# Visualization
p1 <- show_group_enrichment(x1, fill_by_p_value = TRUE)
p1
p2 <- show_group_enrichment(x1, fill_by_p_value = FALSE)
p2
p3 <- show_group_enrichment(x1, return_list = TRUE)
p3
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.