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`

.

1 | ```
scaleMargins(M, rows=NULL, cols=NULL, duplicate=TRUE)
``` |

`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 |

`cols` |
a numeric vector with length equal to the number of columns of M, or a single number.
If missing or |

`duplicate` |
if |

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.

The rescaled dense or sparse matrix.

Stefan Evert (http://purl.org/stefan.evert)

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

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.