Last data update: 2014.03.03

R: Calculates the product for each row (column) in a matrix
rowProdsR Documentation

Calculates the product for each row (column) in a matrix

Description

Calculates the product for each row (column) in a matrix.

Usage

 rowProds(x, rows=NULL, cols=NULL, na.rm=FALSE, method=c("direct", "expSumLog"), ...)
 colProds(x, rows=NULL, cols=NULL, na.rm=FALSE, method=c("direct", "expSumLog"), ...)
 product(x, idxs=NULL, na.rm=FALSE, ...)

Arguments

x

A numeric NxK matrix.

idxs, rows, cols

A vector indicating subset of elements (or rows and/or columns) to operate over. If NULL, no subsetting is done.

na.rm

If TRUE, missing values are ignored, otherwise not.

method

A character string specifying how each product is calculated.

...

Not used.

Details

If method="expSumLog", then then product() function is used, which calculates the produce via the logarithmic transform (treating negative values specially). This improves the precision and lowers the risk for numeric overflow. If method="direct", the direct product is calculated via the prod() function.

Value

Returns a numeric vector of length N (K).

Missing values

Note, if method="expSumLog", na.rm=FALSE, and x contains missing values (NA or NaN), then the calculated value is also missing value. Note that it depends on platform whether NaN or NA is returned when an NaN exists, cf. is.nan().

Author(s)

Henrik Bengtsson

Results