Matrix Rank
This function estimate the rank of a matrix.
mat.rank(mat, tol)
mat |
a numeric matrix or data frame that can contain missing values. |
tol |
positive real, the tolerance for singular values, only those with
values larger than |
mat.rank estimate the rank of a matrix by computing its singular
values d[i] (using nipals). The rank of the matrix can be
defined as the number of singular values d[i] > 0.
If tol is missing, it is given by
tol=max(dim(mat))*max(d)*.Machine$double.eps.
The returned value is a list with components:
rank |
a integer value, the matrix rank. |
tol |
the tolerance used for singular values. |
Sébastien Déjean, Ignacio González, Al J Abadi
## Hilbert matrix
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") }
mat <- hilbert(16)
mat.rank(mat)
## Not run:
## Hilbert matrix with missing data
idx.na <- matrix(sample(c(0, 1, 1, 1, 1), 36, replace = TRUE), ncol = 6)
m.na <- m <- hilbert(9)[, 1:6]
m.na[idx.na == 0] <- NA
mat.rank(m)
mat.rank(m.na)
## End(Not run)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.