How to Extract the Diagonal of a Matrix in R


How to Extract the Diagonal of a Matrix in R ?

Answer

To extract the diagonal of a matrix in R, you can use the diag() function. This function retrieves the diagonal elements of a matrix as a vector.



✐ Examples

1 Extract Diagonal of a 2x2 Matrix

In this example,

  1. First, we create a 2x2 matrix named matrix1 using the matrix() function with a vector of values c(1, 2, 3, 4) and specify the number of rows as 2.
  2. To extract the diagonal elements, we use the diag() function on matrix1 and store the result in a variable called diagonal1.
  3. The diag() function returns a vector containing the diagonal elements of the matrix.
  4. Finally, we use the print() function to display the diagonal elements stored in diagonal1.

R Program

matrix1 <- matrix(c(1, 2, 3, 4), nrow = 2)
diagonal1 <- diag(matrix1)
print(diagonal1)

Output

[1] 1 4

2 Extract Diagonal of a 3x3 Matrix

In this example,

  1. We first create a 3x3 matrix named matrix2 using the matrix() function with a vector of values c(1, 2, 3, 4, 5, 6, 7, 8, 9) and specify the number of rows as 3.
  2. To extract the diagonal elements, we use the diag() function on matrix2 and store the result in a variable called diagonal2.
  3. The diag() function returns a vector containing the diagonal elements of the matrix.
  4. Finally, we use the print() function to display the diagonal elements stored in diagonal2.

R Program

matrix2 <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3)
diagonal2 <- diag(matrix2)
print(diagonal2)

Output

[1] 1 5 9

3 Extract Diagonal of a 4x4 Matrix

In this example,

  1. First, we create a 4x4 matrix named matrix3 using the matrix() function with a vector of values c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160) and specify the number of rows as 4.
  2. To extract the diagonal elements, we use the diag() function on matrix3 and store the result in a variable called diagonal3.
  3. The diag() function returns a vector containing the diagonal elements of the matrix.
  4. Finally, we use the print() function to display the diagonal elements stored in diagonal3.

R Program

matrix3 <- matrix(c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160), nrow = 4)
diagonal3 <- diag(matrix3)
print(diagonal3)

Output

[1]  10  60 110 160

Summary

In this tutorial, we learned How to Extract the Diagonal of a Matrix in R language with well detailed examples.




More R Matrices Tutorials

  1. How to Create a Matrix in R ?
  2. How to Combine Matrices by Columns in R ?
  3. How to Combine Matrices by Rows in R ?
  4. How to Create Diagonal Matrices in R ?
  5. How to Access Matrix Elements using Indexing and Slicing in R ?
  6. How to get Matrix Size in R ?
  7. How to get Number of Rows in Matrix in R ?
  8. How to get Number of Columns in Matrix in R ?
  9. How to do Matrix Addition in R ?
  10. How to do Matrix Subtraction in R ?
  11. How to do Matrix Multiplication in R ?
  12. How to do Scalar Multiplication on a Matrix in R ?
  13. How to do Scalar Division on a Matrix in R ?
  14. How to do Element-Wise Operations in a Matrix in R ?
  15. How to Assign Row and Column Names in a Matrix in R ?
  16. How to get Row Names in a Matrix in R ?
  17. How to get Column Names in a Matrix in R ?
  18. How to find Transpose of a Matrix in R ?
  19. How to Extract the Diagonal of a Matrix in R ?
  20. How to find Determinant of a Matrix in R ?
  21. How to find Inverse of a Matrix in R ?
  22. How to find Rank of a Matrix in R ?
  23. How to Find Eigenvalues and Eigenvectors of a Matrix in R ?
  24. How to Perform Singular Value Decomposition (SVD) in R ?
  25. How to Perform QR Decomposition in R ?
  26. How to Perform Cholesky Decomposition in R ?
  27. How to Reshape Matrices in R ?
  28. How to Convert Data Frames to Matrices in R ?
  29. How to Create Identity Matrix in R ?
  30. How to Create Zero Matrix in R ?
  31. How to Create Ones Matrix in R ?
  32. How to Generate Random Matrices in R ?
  33. How to Calculate Row and Column Sums in R ?
  34. How to Calculate Row and Column Means in R ?
  35. How to Find Row and Column Max/Min in R ?
  36. How to Perform Element-Wise Comparisons in R ?