View source: R/PomaUnivariate.R
PomaUnivariate | R Documentation |
PomaUnivariate
performs parametric and non-parametric univariate statistical tests on a SummarizedExperiment
object to compare groups or conditions. Available methods include T-test, ANOVA, ANCOVA, Mann Whitney U Test (Wilcoxon Rank Sum Test), and Kruskal-Wallis.
PomaUnivariate(
data,
method = "ttest",
covs = NULL,
error = NULL,
paired = FALSE,
var_equal = FALSE,
adjust = "fdr",
run_post_hoc = TRUE
)
data |
A |
method |
Character. The univariate statistical test to be performed. Available options include "ttest" (T-test), "anova" (analysis of variance), "mann" (Wilcoxon rank-sum test), and "kruskal" (Kruskal-Wallis test). |
covs |
Character vector. Indicates the names of |
error |
Character vector. Indicates the name of a |
paired |
Logical. Indicates if the data is paired or not. Default is FALSE. |
var_equal |
Logical. Indicates if the data variances are assumed to be equal or not. Default is FALSE. |
adjust |
Character. Multiple comparisons correction method to adjust p-values. Available options are: "fdr" (false discovery rate), "holm", "hochberg", "hommel", "bonferroni", "BH" (Benjamini-Hochberg), and "BY" (Benjamini-Yekutieli). |
run_post_hoc |
Logical. Indicates if computing post-hoc tests or not. Setting this parameter to FALSE can save time for large datasets. |
A tibble
for "ttest" and "mann". A list
for "anova" and "kruskal".
Pol Castellano-Escuder
# Two groups
## Output columns: feature, fold_change, diff_means, pvalue, adj_pvalue, mean_xxx (group 1) mean_yyy (group 2), sd_xxx (group 1), sd_yyy (group 2)
data <- POMA::st000336 # Example SummarizedExperiment object included in POMA
## Perform T-test
ttest_results <- st000336 %>%
PomaImpute() %>%
PomaUnivariate(method = "ttest",
paired = FALSE,
var_equal = FALSE,
adjust = "fdr")
ttest_results %>%
dplyr::slice(1:10)
## Volcano plot
ttest_results %>%
dplyr::select(feature, fold_change, pvalue) %>%
PomaVolcano(labels = TRUE)
## Boxplot of top features
data %>%
PomaBoxplots(x = "features",
outcome = "group", # factorial variable to group by (e.g., treatment, sex, etc)
feature_name = ttest_results$feature[1:10])
## Heatmap of top features
data[rownames(data) %in% ttest_results$feature[1:10]] %>%
PomaHeatmap(covs = c("group"), # covariates to plot (e.g., treatment, sex, etc)
feature_names = TRUE)
## Perform Mann-Whitney U test
mann_whitney_results <- st000336 %>%
PomaImpute() %>%
PomaUnivariate(method = "mann",
paired = FALSE,
var_equal = FALSE,
adjust = "fdr")
mann_whitney_results %>%
dplyr::slice(1:10)
## Volcano plot
mann_whitney_results %>%
dplyr::select(feature, fold_change, pvalue) %>%
PomaVolcano(labels = TRUE)
## Boxplot of top features
data %>%
PomaBoxplots(x = "features",
outcome = "group", # factorial variable to group by (e.g., treatment, sex, etc)
feature_name = mann_whitney_results$feature[1:10])
## Heatmap of top features
data[rownames(data) %in% mann_whitney_results$feature[1:10]] %>%
PomaHeatmap(covs = c("group"), # covariates to plot (e.g., treatment, sex, etc)
feature_names = TRUE)
# More than 2 groups
## Output is a list with objects `result` and `post_hoc_tests`
data <- POMA::st000284 # Example SummarizedExperiment object included in POMA
## Perform Two-Way ANOVA
anova_results <- data %>%
PomaUnivariate(method = "anova",
covs = c("gender"),
error = NULL,
adjust = "fdr",
run_post_hoc = TRUE)
anova_results$result %>%
dplyr::slice(1:10)
anova_results$post_hoc_tests %>%
dplyr::slice(1:10)
## Boxplot of top features
data %>%
PomaBoxplots(x = "features",
outcome = "factors", # factorial variable to group by (e.g., treatment, sex, etc)
feature_name = anova_results$result$feature[1:10])
## Boxplot of top significant pairwise features (after posthoc test)
data %>%
PomaBoxplots(x = "features",
outcome = "factors", # factorial variable to group by (e.g., treatment, sex, etc)
feature_name = unique(anova_results$post_hoc_tests$feature)[1:10])
## Heatmap of top features
data[rownames(data) %in% anova_results$result$feature[1:10]] %>%
PomaHeatmap(covs = c("factors"), # covariates to plot (e.g., treatment, sex, etc)
feature_names = TRUE)
## Perform Three-Way ANOVA
data %>%
PomaUnivariate(method = "anova",
covs = c("gender", "smoking_condition"))
## Perform ANCOVA with one numeric covariate and one factor covariate
data %>%
PomaUnivariate(method = "anova",
covs = c("age_at_consent", "smoking_condition"))
# Perform Kruskal-Wallis test
data %>%
PomaUnivariate(method = "kruskal",
adjust = "holm",
run_post_hoc = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.