May 12, 2021 R language tutorial
A matrix is an R object in which elements are laid out in a two-dimensional rectangle. T hey contain elements of the same atomic type. A lthough we can create a matrix that contains only characters or logical values, they are of little use. W e use a matrix containing numeric elements for mathematical calculations.
Create a matrix using the matrix() function.
The basic syntax for creating a matrix in the R language is -
matrix(data, nrow, ncol, byrow, dimnames)
The following is a description of the parameters used -
Data is the input vector that becomes the data element of the matrix.
nrow is the number of rows to create.
ncol is the number of columns to create.
Byrow is a logical clue. I f true, the input vector elements are arranged in rows.
Dimname is the name assigned to rows and columns.
Create a matrix with a digital vector as input
# Elements are arranged sequentially by row. M <- matrix(c(3:14), nrow = 4, byrow = TRUE) print(M) # Elements are arranged sequentially by column. N <- matrix(c(3:14), nrow = 4, byrow = FALSE) print(N) # Define the column and row names. rownames = c("row1", "row2", "row3", "row4") colnames = c("col1", "col2", "col3") P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames)) print(P)
When we execute the code above, it produces the following results -
[,1] [,2] [,3] [1,] 3 4 5 [2,] 6 7 8 [3,] 9 10 11 [4,] 12 13 14 [,1] [,2] [,3] [1,] 3 7 11 [2,] 4 8 12 [3,] 5 9 13 [4,] 6 10 14 col1 col2 col3 row1 3 4 5 row2 6 7 8 row3 9 10 11 row4 12 13 14
You can access the elements of the matrix by using the column and row indexes of the elements. L et's consider matrix P above to find the specific elements below.
# Define the column and row names. rownames = c("row1", "row2", "row3", "row4") colnames = c("col1", "col2", "col3") # Create the matrix. P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames)) # Access the element at 3rd column and 1st row. print(P[1,3]) # Access the element at 2nd column and 4th row. print(P[4,2]) # Access only the 2nd row. print(P[2,]) # Access only the 3rd column. print(P[,3])
When we execute the code above, it produces the following results -
[1] 5 [1] 13 col1 col2 col3 6 7 8 row1 row2 row3 row4 5 8 11 14
Use the R operator to perform various mathematical operations on the matrix.
The result of the operation is also a matrix.
For the matrices involved in the operation, the dimensions (rows and columns) should be the same.
# Create two 2x3 matrices. matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2) print(matrix1) matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2) print(matrix2) # Add the matrices. result <- matrix1 + matrix2 cat("Result of addition"," ") print(result) # Subtract the matrices result <- matrix1 - matrix2 cat("Result of subtraction"," ") print(result)
When we execute the code above, it produces the following results -
[,1] [,2] [,3] [1,] 3 -1 2 [2,] 9 4 6 [,1] [,2] [,3] [1,] 5 0 3 [2,] 2 9 4 Result of addition [,1] [,2] [,3] [1,] 8 -1 5 [2,] 11 13 10 Result of subtraction [,1] [,2] [,3] [1,] -2 -1 -1 [2,] 7 -5 2
# Create two 2x3 matrices. matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2) print(matrix1) matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2) print(matrix2) # Multiply the matrices. result <- matrix1 * matrix2 cat("Result of multiplication"," ") print(result) # Divide the matrices result <- matrix1 / matrix2 cat("Result of division"," ") print(result)
When we execute the code above, it produces the following results -
[,1] [,2] [,3] [1,] 3 -1 2 [2,] 9 4 6 [,1] [,2] [,3] [1,] 5 0 3 [2,] 2 9 4 Result of multiplication [,1] [,2] [,3] [1,] 15 0 6 [2,] 18 36 24 Result of division [,1] [,2] [,3] [1,] 0.6 -Inf 0.6666667 [2,] 4.5 0.4444444 1.5000000