Description Usage Arguments Details Value Author(s) Examples
Convenience functions for manipulating and reporting on matrices.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | allDiv(x, log=FALSE)
colDiv(x, log=FALSE)
rowDiv(x, log=FALSE)
asSymmetric(x, keep.lower=TRUE)
colSample(x, size, replace=FALSE, prob=NULL)
rowSample(x, size, replace=FALSE, prob=NULL)
colSort(x, decreasing=FALSE, na.last=NA)
rowSort(x, decreasing=FALSE, na.last=NA)
isRowMax(x)
isRowMin(x)
matrix2design(x)
labsDet(x)
matrixMaxIdx(x)
matrixMinIdx(x)
matrixTrace(x)
|
x |
a numeric matrix or data frame (square for |
log |
logical; if |
keep.lower |
logical; if |
size, replace, prob |
as the equivalent arguments to |
decreasing, na.last |
as the equivalent arguments to |
allDiv returns x divided by the sum of all its elements, while colDiv returns the columns of x divided by their sums, and rowDiv returns the rows of x divided by their sums. Because calculations are performed by subtraction of logarithms when log is TRUE, this option may be useful for precision, e.g., exp(rowDiv(x, TRUE)) may be more precise than rowDiv(x).
If x is square, asSymmetric mirrors the lower triangular portion (by default) of x to the upper portion and returns a symmetric matrix. matrixTrace returns the trace of the matrix, that is, the sum of the elements along the diagonal. No checking is done, so it is the user's responsibility to ensure that x is square; the function will “work” with non-square matrices as well!
colSample and rowSample return a matrix consisting of samples from the columns or rows, respectively, of x.
colSort and rowSort return x with its columns sorted by the sums of its columns or its rows sorted by the sums of its rows, respectively.
isRowMax returns a matrix of the same dimension as x of which the (n,k)th element is TRUE if the (n,k)th element of x is the maximum value in the kth row, otherwise FALSE. isRowMin is the same for row minima instead of maxima. For matrix2design, the result is the same as isRowMax except that numerical values (1 or 0) are used instead of logical values.
labsDet returns the logarithm of the absolute value of the determinant of x. Like the built-in function det, this is a convenience wrapper around determinant.
matrixMaxIdx and matrixMinIdx return the row and column indices of the maximum and minimum elements, respectively, of x.
For allDiv, colDiv, rowDiv, asSymmetric, isRowMax, isRowMin, matrix2design, colSort, and rowSort, a matrix of the same dimension as x. For colSample and rowSample, a matrix of the specified dimension. For matrixMaxIdx and matrixMinIdx, a two-element vector. For matrixTrace, a scalar.
Daniel Dvorkin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | x <- matrix(1:12, ncol=3)
x
# [,1] [,2] [,3]
#[1,] 1 5 9
#[2,] 2 6 10
#[3,] 3 7 11
#[4,] 4 8 12
rowDiv(x)
# [,1] [,2] [,3]
#[1,] 0.06666667 0.3333333 0.6000000
#[2,] 0.11111111 0.3333333 0.5555556
#[3,] 0.14285714 0.3333333 0.5238095
#[4,] 0.16666667 0.3333333 0.5000000
rowDiv(x, log=TRUE)
# [,1] [,2] [,3]
#[1,] -2.708050 -1.098612 -0.5108256
#[2,] -2.197225 -1.098612 -0.5877867
#[3,] -1.945910 -1.098612 -0.6466272
#[4,] -1.791759 -1.098612 -0.6931472
matrixMaxIdx(x)
# [1] 4 3
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.