groupSums: Compute Summary Statistics of Data Subsets In mefa4: Multivariate Data Handling with S4 Classes and Sparse Matrices

Description

Compute summary statistics (sums, means) of data subsets.

Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```groupSums(object, ...) ## S4 method for signature 'matrix' groupSums(object, MARGIN, by, na.rm = FALSE, ...) ## S4 method for signature 'sparseMatrix' groupSums(object, MARGIN, by, na.rm = FALSE, ...) ## S4 method for signature 'Mefa' groupSums(object, MARGIN, by, replace, na.rm = FALSE, ...) groupMeans(object, ...) ## S4 method for signature 'matrix' groupMeans(object, MARGIN, by, na.rm = FALSE, ...) ## S4 method for signature 'sparseMatrix' groupMeans(object, MARGIN, by, na.rm = FALSE, ...) ## S4 method for signature 'Mefa' groupMeans(object, MARGIN, by, replace, na.rm = FALSE, ...) sum_by(x, by) ```

Arguments

 `object` an object. `x` a vector. `MARGIN` numeric, `1` indicates rows are to be summed/averaged, `2` indicates columns are to be summed/averaged. `c(1, 2)` is not yet implemented, but can be calculated calling the function twice. `by` a vector of grouping elements corresponding to dimensions of `object` and `MARGIN`. `replace` a data frame to be used when applying the method on a `"Mefa"` object. The attribute table corresponding to `MARGIN` is dropped (`NULL`), `replace`ment table can be specified via this argument. `na.rm` logical. Should missing values be removed? Sum is calculated by zeroing out `NA` values, mean is calculated as dividing the sum by the number of non-`NA` values when collapsing. `...` other argument, currently not implemented.

Details

The method sums/averages cells in a matrix. The functions behind these methods use sparse matrices, so calculations can be more efficient compared to using `aggregate`.

Value

An object similar to the input one.

Author(s)

Peter Solymos <solymos@ualberta.ca>

`rowSums`, `rowMeans`, `colSums`, `colMeans`

Standard `aggregate` in package stats

`aggregate.mefa` in package mefa for S3 `"mefa"` objects.

Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29``` ```x <- data.frame( sample = paste("Sample", c(1,1,2,2,3,4), sep="."), species = c(paste("Species", c(1,1,1,2,3), sep="."), "zero.pseudo"), count = c(1,2,10,3,4,0), stringsAsFactors = TRUE) samp <- data.frame(samples=levels(x\$sample), var1=1:2, stringsAsFactors = TRUE) taxa <- data.frame(specnames=levels(x\$species), var2=c("b","a"), stringsAsFactors = TRUE) rownames(samp) <- samp\$samples rownames(taxa) <- taxa\$specnames x2 <- Xtab(count ~ sample + species, x, cdrop=FALSE,rdrop=TRUE) x5 <- Mefa(x2, samp, taxa, join="inner") groupSums(as.matrix(x2), 1, c(1,1,2)) groupSums(as.matrix(x2), 2, c(1,1,2,2)) groupSums(x2, 1, c(1,1,2)) groupSums(x2, 2, c(1,1,2,2)) groupSums(x5, 1, c(1,1,2)) groupSums(x5, 2, c(1,1,2,2)) groupMeans(as.matrix(x2), 1, c(1,1,2)) groupMeans(as.matrix(x2), 2, c(1,1,2,2)) groupMeans(x2, 1, c(1,1,2)) groupMeans(x2, 2, c(1,1,2,2)) groupMeans(x5, 1, c(1,1,2)) groupMeans(x5, 2, c(1,1,2,2)) sum_by(runif(100, 0, 1), sample(LETTERS[1:4], 100, replace=TRUE)) ```

mefa4 documentation built on Oct. 7, 2021, 1:06 a.m.