scale_margins: Scale Rows and/or Columns of a Matrix (wordspace)

scaleMarginsR Documentation

Scale Rows and/or Columns of a Matrix (wordspace)

Description

This function provides a fast and memory-efficient way to scale the rows and/or columns of a dense or sparse matrix. Each row is multiplied with the corresponding element of the vector rows, each column with the corresponding element of the vector cols.

Usage


scaleMargins(M, rows=NULL, cols=NULL, duplicate=TRUE)

Arguments

M

a dense or sparse matrix in canonical format

rows

a numeric vector with length equal to the number of rows of M, or a single number. If missing or NULL, the rows of M are not rescaled.

cols

a numeric vector with length equal to the number of columns of M, or a single number. If missing or NULL, the columns of M are not rescaled.

duplicate

if FALSE, modify the matrix M in place. Don't ever set this argument to FALSE.

Details

If M is not in canonical format (dense numeric matrix or sparse matrix of class dgCMatrix), it will automatically be converted. In this case, the precise behaviour of duplicate=FALSE is undefined.

duplicate=FALSE is intended for internal use only.

Value

The rescaled dense or sparse matrix.

Author(s)

Stephanie Evert (https://purl.org/stephanie.evert)

See Also

dsm.is.canonical

Examples


M <- matrix(1, 5, 3)
scaleMargins(M, rows=1:5, cols=c(1, 10, 100))


wordspace documentation built on Aug. 23, 2022, 1:06 a.m.