How to find Rank of a Matrix in R - Step by Step Examples
How to find Rank of a Matrix in R ?
Answer
To find the rank of a matrix in R, you can use the qr() function followed by the qr.R() function, and then count the number of non-zero rows in the resulting upper triangular matrix.
✐ Examples
1 Find Rank of a 2x2 Matrix
In this example,
- First, we create a 2x2 matrix named
matrix1using thematrix()function with a vector of valuesc(1, 2, 3, 4)and specify the number of rows as 2. - We use the
qr()function onmatrix1to perform QR decomposition and store the result in a variable calledqr1. - Next, we extract the upper triangular matrix R from the QR decomposition result using the
qr.R()function onqr1. - To find the rank, we count the number of non-zero rows in the upper triangular matrix. This can be done by summing the logical values of whether the absolute values of the diagonal elements of R are greater than a small tolerance value (e.g.,
.Machine$double.eps). - Finally, we print the rank of the matrix.
R Program
matrix1 <- matrix(c(1, 2, 3, 4), nrow = 2)
qr1 <- qr(matrix1)
R1 <- qr.R(qr1)
rank1 <- sum(abs(diag(R1)) > .Machine$double.eps)
print(rank1)Output
[1] 2
2 Find Rank of a 3x3 Matrix
In this example,
- We first create a 3x3 matrix named
matrix2using thematrix()function with a vector of valuesc(1, 2, 3, 4, 5, 6, 7, 8, 9)and specify the number of rows as 3. - We use the
qr()function onmatrix2to perform QR decomposition and store the result in a variable calledqr2. - Next, we extract the upper triangular matrix R from the QR decomposition result using the
qr.R()function onqr2. - To find the rank, we count the number of non-zero rows in the upper triangular matrix. This can be done by summing the logical values of whether the absolute values of the diagonal elements of R are greater than a small tolerance value (e.g.,
.Machine$double.eps). - Finally, we print the rank of the matrix.
R Program
matrix2 <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3)
qr2 <- qr(matrix2)
R2 <- qr.R(qr2)
rank2 <- sum(abs(diag(R2)) > .Machine$double.eps)
print(rank2)Output
[1] 2
3 Find Rank of a 3x3 Identity Matrix
In this example,
- First, we create a 3x3 identity matrix named
matrix3using thediag()function with a value of 3. - We use the
qr()function onmatrix3to perform QR decomposition and store the result in a variable calledqr3. - Next, we extract the upper triangular matrix R from the QR decomposition result using the
qr.R()function onqr3. - To find the rank, we count the number of non-zero rows in the upper triangular matrix. This can be done by summing the logical values of whether the absolute values of the diagonal elements of R are greater than a small tolerance value (e.g.,
.Machine$double.eps). - Finally, we print the rank of the matrix.
R Program
matrix3 <- diag(3)
qr3 <- qr(matrix3)
R3 <- qr.R(qr3)
rank3 <- sum(abs(diag(R3)) > .Machine$double.eps)
print(rank3)Output
[1] 3
Summary
In this tutorial, we learned How to find Rank of a Matrix in R language with well detailed examples.
More R Matrices Tutorials
- How to Create a Matrix in R ?
- How to Combine Matrices by Columns in R ?
- How to Combine Matrices by Rows in R ?
- How to Create Diagonal Matrices in R ?
- How to Access Matrix Elements using Indexing and Slicing in R ?
- How to get Matrix Size in R ?
- How to get Number of Rows in Matrix in R ?
- How to get Number of Columns in Matrix in R ?
- How to do Matrix Addition in R ?
- How to do Matrix Subtraction in R ?
- How to do Matrix Multiplication in R ?
- How to do Scalar Multiplication on a Matrix in R ?
- How to do Scalar Division on a Matrix in R ?
- How to do Element-Wise Operations in a Matrix in R ?
- How to Assign Row and Column Names in a Matrix in R ?
- How to get Row Names in a Matrix in R ?
- How to get Column Names in a Matrix in R ?
- How to find Transpose of a Matrix in R ?
- How to Extract the Diagonal of a Matrix in R ?
- How to find Determinant of a Matrix in R ?
- How to find Inverse of a Matrix in R ?
- How to find Rank of a Matrix in R ?
- How to Find Eigenvalues and Eigenvectors of a Matrix in R ?
- How to Perform Singular Value Decomposition (SVD) in R ?
- How to Perform QR Decomposition in R ?
- How to Perform Cholesky Decomposition in R ?
- How to Reshape Matrices in R ?
- How to Convert Data Frames to Matrices in R ?
- How to Create Identity Matrix in R ?
- How to Create Zero Matrix in R ?
- How to Create Ones Matrix in R ?
- How to Generate Random Matrices in R ?
- How to Calculate Row and Column Sums in R ?
- How to Calculate Row and Column Means in R ?
- How to Find Row and Column Max/Min in R ?
- How to Perform Element-Wise Comparisons in R ?