## Matrix | Data Structure for Matrix in R

**Question:** What is a matrix in R?**Answer:** In R language matrices are two-dimensional arrays of elements all of which are of the same type, for example, numbers, character strings or logical values.

Matrices may be constructed using the built-in function “matrix”, which reshapes its first argument into a matrix having a specified number of rows as second argument and number of columns as the third matrix.

**Question:** Give an example of how the matrix is constructed in R language?**Answer:** A 3 by 3 matrix (3 rows and 3 columns) matrix may be constructed such as:

> matrix(1:9, 3, 3)

> matrix(c(1,2,3,4,5,6,7,8,9), 3, 3)matrix(runif(9), 3,3)

First, two commands construct a matrix of 9 elements having 3 rows and 3 columns consisting numbers from 1 up to 9. The third command makes a matrix of 3 rows and 3 columns with random numbers from a uniform distribution.

**Question:** How the matrix elements are filled?**Answer:** A matrix is filled by columns, unless the optional argument ** byrow** is set to

**TRUE**as an argument in matrix command, for example

> matrix(1:9, 3, 3, byrow=TRUE)

**Question:** Can matrix be stored in R?**Answer:** Any matrix can be stored in R such as

> m <- matrix(1:9, 3, 3)

> mymatrix <- matrix( rnorm(16), nrow=4 )

Matrices are stored in “m” and “mymatrix” ** object.** The second command constructs a matrix having 16 elements with 4 rows from a normal distribution having mean 0 and variance 1.

**Question:** what is the use of * dim* command in R?

**Answer:**The

*(dimension) is an attribute of the matrix in R, which tells the number of rows and the number of columns of a matrix, for example,*

**dim**> dim(mymatrix)

This will result in output showing 4 4, meaning that 4 rows and 4 column matrix.

**Question:** Can we name rows of a matrix in R?**Answer:** Yes in R language we can name rows of a matrix according to ones requirements, such as

> rownames(mymatrix) <- c(“x1”, “x2”, “x3”, “x4”)

> mymatrix

**Question:** Can column names be changes or updated in R?**Answer:** The procedure is the same as changing of rows name. For this purpose * colnames* command is used, for example

> colnames(mymatrix)<-c(“A”, “B”, “C”, “D”)

> mymatrix

**Question:** What is the purpose of * attributes* command for the matrix in R?

**Answer:**The

*function can be used to get information about the dimension of the matrix and dimnames (dimension names). For example;*

**attributes**> attributes(mymatrix)