Skip to contents

Perform one-way ANOVA for glycomics or glycoproteomics data. The function supports parametric comparison of multiple groups. For significant results, Tukey's HSD post-hoc test is automatically performed. P-values are adjusted for multiple testing using the method specified by p_adj_method.

Usage

gly_anova(exp, group_col = "group", p_adj_method = "BH", add_info = TRUE, ...)

gly_anova_(expr_mat, groups, p_adj_method = "BH", ...)

Arguments

exp

A glyexp::experiment() object containing expression matrix and sample information.

group_col

A character string specifying the column name of the grouping variable in the sample information. Default is "group".

p_adj_method

A character string specifying the method to adjust p-values. See p.adjust.methods for available methods. Default is "BH". If NULL, no adjustment is performed.

add_info

A logical value. If TRUE (default), variable information from the experiment will be added to the result tibble. If FALSE, only the statistical results are returned. Only applicable to gly_anova().

...

Additional arguments passed to stats::aov().

expr_mat

A numeric matrix with variables as rows and samples as columns.

groups

A factor or character vector specifying group membership for each sample. Must have at least 2 levels. Character vectors will be automatically converted to factors.

Value

A list containing two elements:

  • tidy_result: A list containing:

    • main_test: A tibble with ANOVA results containing the following columns:

      • variable: Variable name

      • term: ANOVA term (usually "groups")

      • df: Degrees of freedom

      • sumsq: Sum of squares

      • meansq: Mean squares

      • statistic: F-statistic

      • p_value: Raw p-value from ANOVA

      • p_adj: Adjusted p-value (if p_adj_method is not NULL)

      • post_hoc: Significant group pairs from post-hoc test

    • post_hoc_test: A tibble with pairwise comparison results containing the following columns:

      • variable: Variable name

      • group1: First group in comparison

      • group2: Second group in comparison

      • p_value: Raw p-value from Tukey's HSD test

      • p_adj: Adjusted p-value from Tukey's HSD test

  • raw_result: A list containing:

    • main_test: A list of raw aov model objects.

    • post_hoc_test: A list of raw TukeyHSD objects.

Details

The function performs log2 transformation on the expression data (log2(x + 1)) before statistical testing. At least 2 groups are required in the grouping variable.

gly_anova() is the top-level API that works with glyexp::experiment() objects and supports the add_info parameter for joining experiment metadata.

gly_anova_() is the underlying API that works with matrices and factor vectors directly, providing more flexibility for users who don't use the glyexp package.

Post-hoc Test: Tukey's HSD test for pairwise comparisons (stats::TukeyHSD()) is performed for variables with significant main effects (p_adj < 0.05).