Concept of Matrix and Its Operations in R Programming
1. What is a Matrix?
A matrix is a two-dimensional data structure arranged in rows and
columns, where all elements must be of the same data type.
In R, a matrix is stored column-wise by default.
2. Creating a Matrix in R
Syntax
matrix(data, nrow, ncol, byrow = FALSE)
Example 1: Simple Matrix
m1 <- matrix(c(1, 2, 3, 4), nrow = 2)
m1
Output:
[,1] [,2]
[1,] 1 3
[2,] 2 4
Example 2: Row-wise Matrix
m2 <- matrix(c(1, 2, 3, 4), nrow = 2, byrow = TRUE)
m2
Output:
[,1] [,2]
[1,] 1 2
[2,] 3 4
3. Creating Matrix Using Other Functions
Using cbind() (Column Bind)
m3 <- cbind(c(1,2), c(3,4))
m3
Using rbind() (Row Bind)
m4 <- rbind(c(1,2), c(3,4))
m4
4. Accessing Matrix Elements
Access Single Element
m2[1,2] # Row 1, Column 2
Access Entire Row
m2[1, ]
Access Entire Column
m2[ ,2]
5. Matrix Arithmetic Operations
5.1 Matrix Addition
A <- matrix(c(1,2,3,4), nrow=2)
B <- matrix(c(5,6,7,8), nrow=2)
A+B
5.2 Matrix Subtraction
A-B
5.3 Element-wise Multiplication
A*B
5.4 Element-wise Division
A/B
6. Matrix Multiplication
Using %*% Operator
A <- matrix(c(1,2,3,4), nrow=2)
B <- matrix(c(2,0,1,2), nrow=2)
A %*% B
Important for Exams:
* → element-wise multiplication
%*% → matrix multiplication
7. Transpose of a Matrix
t(A)
8. Determinant of a Matrix
det(A)
If determinant = 0 → matrix is singular.
9. Inverse of a Matrix
solve(A)
Inverse exists only if determinant ≠ 0.
10. Diagonal Matrix
Create Diagonal Matrix
D <- diag(c(1, 2, 3))
D
Extract Diagonal Elements
diag(D)
11. Identity Matrix
I <- diag(3)
I
12. Matrix Dimensions
dim(A)
nrow(A)
ncol(A)
13. Row and Column Sums
rowSums(A)
colSums(A)
14. Apply Function on Matrix
Apply Mean to Rows
apply(A, 1, mean)
Apply Sum to Columns
apply(A, 2, sum)
15. Logical Operations on Matrix
A>2
16. Matrix as Linear Equation Solver
Solve:
2 x+ y=5x + y=3
M <- matrix(c(2,1,1,1), nrow=2)
B <- c(5,3)
solve(M, B)
17. Applications of Matrix in R
Data Analysis
Machine Learning
Image Processing
Scientific Computing
Linear Regression
18. Advantages of Matrix Operations in R
Fast computation
No loops required
Simple syntax
Highly efficient for large data