Sum All Elements in a Matrix using R
Last Updated :
21 Feb, 2024
Matrices in R Programming Language are the objects in which the elements are arranged in a 2-D rectangular layout. A matrix is a collection of elements of the same data type(numeric, character, or logical) arranged in a fixed number of rows and columns, as we very well know rows are represented horizontally and columns are represented vertically.
Creating Matrix
To create a matrix in R, we use the matrix() function. This function takes several arguments, including data(collection of elements), nrow, ncol, byrow.
Syntax: matrix(data, nrow, ncol, byrow=True)
- data :- It will describe the collection of elements that R will arrange into rows and columns of the matrix.
- nrow :- Describe the number of rows
- ncol :- Describes the number of columns
- byrow :- By default this field is set to “FALSE” means elements in the matrix are filled in column wise manner but if we explicitly set it to “TRUE” then elements in the matrix are filled in the row wise manner.
R
A= matrix (
c (10,20,30,40,50,60,70,80,90),
nrow=3,
ncol=3,
byrow= TRUE
)
cat ( "My 3*3 matrix :-\n" )
print (A)
|
Output:
My 3*3 matrix :-
[,1] [,2] [,3]
[1,] 10 20 30
[2,] 40 50 60
[3,] 70 80 90
Accessing elements in different forms in the matrix
Suppose we have a 3*3 matrix i.e. 9 elements and now we need to access each element separately. Let’s examine an example code to understand this.
R
A = matrix (
c (10, 20, 30, 40, 50, 60, 70, 80, 90),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat ( "My 3*3 matrix is:\n" )
print (A)
for (i in 1: nrow (A)) {
for (j in 1: ncol (A)) {
cat ( "Element at position (" , i, "," , j, ") is:" , A[i, j])
cat ( "\n" )
}
}
|
Output:
My 3*3 matrix is:
[,1] [,2] [,3]
[1,] 10 20 30
[2,] 40 50 60
[3,] 70 80 90
Element at position ( 1 , 1 ) is: 10
Element at position ( 1 , 2 ) is: 20
Element at position ( 1 , 3 ) is: 30
Element at position ( 2 , 1 ) is: 40
Element at position ( 2 , 2 ) is: 50
Element at position ( 2 , 3 ) is: 60
Element at position ( 3 , 1 ) is: 70
Element at position ( 3 , 2 ) is: 80
Element at position ( 3 , 3 ) is: 90
Sum all elements in a matrix using R
Now, we are now well-equipped to calculate the sum of all elements in a matrix. We have above covered the process of matrix creation and explored various methods of accessing its elements.
R
A = matrix (
c (10, 20, 30, 40, 50, 60, 70, 80, 90),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat ( "MY 3*3 matrix is:\n" )
print (A)
sum=0
for (i in 1: nrow (A)) {
for (j in 1: ncol (A)) {
sum=sum+A[i, j]
}
}
cat ( "Sum of all elements in the matrix are: " ,sum)
|
Output:
MY 3*3 matrix is:
[,1] [,2] [,3]
[1,] 10 20 30
[2,] 40 50 60
[3,] 70 80 90
Sum of all elements in the matrix are: 450
Adding sum of the matrix element row by row
R
matrix_data = matrix ( c (1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, byrow = TRUE )
matrix_data
total_sum = 0
for (row in 1: nrow (matrix_data)) {
row_sum = sum (matrix_data[row, ])
cat ( "Sum of elements in row" , row, ":" , row_sum, "\n" )
total_sum = total_sum + row_sum
}
cat ( "Total sum of all elements:" , total_sum, "\n" )
|
Output:
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
Sum of elements in row 1 : 6
Sum of elements in row 2 : 15
Sum of elements in row 3 : 24
Total sum of all elements: 45
Adding sum of the matrix element by column
R
matrix_data = matrix ( c (1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, byrow = TRUE )
matrix_data
total_sum = 0
for (col in 1: ncol (matrix_data)) {
col_sum = sum (matrix_data[, col])
cat ( "Sum of elements in column" , col, ":" , col_sum, "\n" )
total_sum = total_sum + col_sum
}
cat ( "Total sum of all elements:" , total_sum, "\n" )
|
Output:
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
Sum of elements in column 1 : 12
Sum of elements in column 2 : 15
Sum of elements in column 3 : 18
Total sum of all elements: 45
Share your thoughts in the comments
Please Login to comment...