Create grouped ASV matrix by averaging within groups
Source:R/dendrogram.r
create_grouped_matrix.RdCollapses a sample-by-taxon matrix into a group-by-taxon matrix by taking the mean abundance across samples within each group. This is useful for building dendrograms on group centroids (e.g. habitat-level mean communities).
Usage
create_grouped_matrix(
asv_matrix,
metadata,
sample_col = "SampleID",
group_col,
group_order = c("alphabetical", "metadata", "custom"),
group_levels = NULL,
drop_unmapped_samples = FALSE
)Arguments
- asv_matrix
Numeric matrix with samples as columns and taxa/ASVs as rows. Column names must match
metadata[[sample_col]].- metadata
Data frame with one row per sample (or at least one row per sample ID).
- sample_col
Column name in
metadatacontaining sample IDs (default:"SampleID").- group_col
Column name in
metadatadefining groups to average within.- group_order
How to order group columns in the output:
"alphabetical": sort group names A–Z (default)"metadata": order by first appearance inmetadata[[group_col]]"custom": usegroup_levels(and append unseen groups at the end)
- group_levels
Character vector giving desired group order when
group_order="custom".- drop_unmapped_samples
Logical; if
TRUE, drop samples missing a group assignment. IfFALSE(default), error if any sample inasv_matrixis missinggroup_colin metadata.