Data in R is held as a wide variety of objects such as vectors, matrices, arrays, data frames, and lists. Let’s see How to create or assign a vector in R.

#### What is Matrix?

A matrix is a two-dimensional array where each element has the same data type (numeric,

character, or logical). We can create a matrix using matrix function `matrix`

. The general format is

myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns, byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

where `vector`

contains the elements for the matrix, `nrow`

and `ncol`

specify the row and column dimensions and `dimnames`

contains optional row and column labels stored in character vectors. The option `byrow`

indicates whether the matrix should be filled in by row (`byrow=TRUE`

) or by column (`byrow=FALSE`

). The default is by column. The following example demonstrates the `matrix`

function.

**Examples**

> a <- matrix(10:30, nrow=5, ncol=4) Warning message: In matrix(10:30, nrow = 5, ncol = 4) : data length [21] is not a sub-multiple or multiple of the number of rows [5] > a <- matrix(11:30, nrow=5, ncol=4) > a [,1] [,2] [,3] [,4] [1,] 11 16 21 26 [2,] 12 17 22 27 [3,] 13 18 23 28 [4,] 14 19 24 29 [5,] 15 20 25 30 > data <- c(78,82,64,51) > rownames <- c("Ramprakash","Sulthan") > columnnames <- c("Maths","Science") > marklist<-matrix(data,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rownames,columnnames)) > marklist Maths Science Ramprakash 78 64 Sulthan 82 51

Here, First, we create a 5×4 matrix `a`

. Then we create a 2×2 matrix with labels and fill the matrix by rows. Finally, we create a 2×2 matrix and fill the matrix by columns.

#### How to use Matrix in R?

I will show you simple examples with standard functions exist in R for common mathematical operations on matrices.

#### Transpose a matrix in R

> a <- matrix(11:30, nrow=5, ncol=4) > a [,1] [,2] [,3] [,4] [1,] 11 16 21 26 [2,] 12 17 22 27 [3,] 13 18 23 28 [4,] 14 19 24 29 [5,] 15 20 25 30 > t(a) [,1] [,2] [,3] [,4] [,5] [1,] 11 12 13 14 15 [2,] 16 17 18 19 20 [3,] 21 22 23 24 25 [4,] 26 27 28 29 30

#### Determinant of a matrix in R

> a <- matrix(c(1:7,8,10),3,3) > a [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 10 > det(a) [1] -3

#### Diagonal of a matrix in R

> a <- matrix(c(1:7,8,10),3,3) > a [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 10 > diag(a) [1] 1 5 10

#### Inverse of a matrix in R

> a <- matrix(c(1:7,8,10),3,3) > a [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 10 > solve(a) [,1] [,2] [,3] [1,] -0.6666667 -0.6666667 1 [2,] -1.3333333 3.6666667 -2 [3,] 1.0000000 -2.0000000 1

Matrices are two-dimensional and, like vectors, can contain only one data type. When there are more than two dimensions, you have to use arrays. When there are multiple modes of data, you have to use data frames.