# Matrix Functions in R – solve(), dim(), sum(), mean(), cbind()

In this article, we will learn what are matrix functions in R and different functions that operate on matrices. We will see their usage and look at a few examples.

If you skipped the **R matrix** tutorial, then revise R matrices before understanding its function.

### What are R Matrices?

In R, matrices are **two-dimensional** data structures. They can store values of the same data type in the form of rows and columns. They have a ** dim**attribute that defines their dimensions. We can create a matrix using the

**function.**

`matrix()`

## What are the Matrix Functions in R?

Functions that take a matrix as input or return a matrix as output are called **matrix functions**. There are a lot of matrix functions in R. The major one that we are going to discuss today are:

- is.matrix() function
- %*% operator
- solve() function
- t() function
- dim() and dimnames() functions
- cbind() and rbind() functions
- diag() function
- det() function
- colSums(), rowSums(), and sum() functions
- colMeans(), rowMeans(), and mean() functions

### 1. is.matrix() Function

The ** is.matrix()** function takes an object as input and returns

**if the object is a matrix. For example:**

`TRUE`

**Code:**

mat1 <- matrix(c(1:9),c(3,3)) is.matrix(mat1)

**Output:**

### 2. %*% Operator

We can perform the element-wise multiplication of two matrices using the ** *** operator. But we can do matrix multiplication, with the

**operator. For example:**

`%*%`

**Code:**

mat2 <- matrix(c(3,2,0,0,0,1,2,-2,1),c(3,3)) mat1*mat2

**Code:**

mat1%*%mat2

**Output:**

### 3. solve() Function

The ** solve()** function takes a matrix as input and returns the matrix’s inverse as output. For example:

**Code:**

mat2I <- solve(mat2) mat2I

**Output:**

### 4. t() Function

The ** t()** function in R gives us the transpose of a matrix. For example:

**Code:**

tmat1 <- t(mat1) tmat1

**Output:**

### 5. dim() and dimnames() Functions

The ** dim()** function shows the dimension of a matrix. It can also change the dimension of a matrix and also convert a

**vector**into a matrix by giving it dimensions.

The ** dimnames()** function shows the names of the rows and columns of a matrix. It can also set or change the names of the rows and columns of a matrix. For example:

**Code:**

dim(mat1)

**Code:**

dim(mat1) <- c(9,1) mat1

**Output:**

**Code:**

dimnames(mat2)

**Code:**

rnames <- c("row1","row2","row3") cnames <- c("col1","col2","col3") dimnames(mat2) <- list(rnames,cnames) mat2

**Output:**

### 6. cbind() and rbind() Functions

The ** cbind()** function joins two or more matrices or vectors

**column-wise**. The

**function joins them**

`rbind()`

**row-wise**. For example:

**Code:**

mat3 <- matrix(c(1:12),c(3,4)) mat4 <- matrix(c(11:22),c(3,4)) cbind(mat3,mat4)

**Code:**

rbind(mat3,mat4)

**Output:**

### 7. diag() Function

The ** diag()** function can extract or replace the diagonal of a matrix and can also construct a diagonal matrix. For example:

**Code:**

diag(mat3)

**Code:**

diag(diag(mat3))

**Output:**

### 8. det() Function

The ** det()** function returns the determinant of the input matrix. For example:

**Code:**

det(mat2)

**Output:**

### 9. colSums(), rowSums(), and sum() Functions

The ** colSums()** function returns the sums of

**each column**of the matrix. The

**function returns the sum of**

`rowSums()`

**each row**of a matrix. The

**function returns the sum of all the elements of the matrix. For example:**

`sum()`

**Code:**

colSums(mat3)

**Code:**

rowSums(mat3)

**Code:**

sum(mat3)

**Output:**

### 10. colMeans(), rowMeans(), and mean() Function

The ** colMeans()** function shows the means of each column of a matrix. The

**function shows the means of each row of the matrix. The**

`rowMeans()`

**function returns the mean of all the elements of the matrix. For example:**

`mean()`

**Code:**

colMeans(mat3)

**Code:**

rowMeans(mat3)

**Code:**

mean(mat3)

**Output:**

## Summary

Matrices are two-dimensional, homogeneous data-structures in R. They have rows and columns and they can store data of only a single type.

In this tutorial, we learned about matrices and matrix functions in R. We looked at a few common matrix functions. We also looked at their usage and their examples.

R has a lot of **useful functions** to perform complex calculations on matrices. With practice, you should be able to discover some more weird quirks and behaviors of these functions.

**Any queries while executing these R matrix functions?**

Don’t worry! Ask below, and our **TechVidvan** experts will be happy to help you.

Keep Executing!!