# 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 dim (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(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 attributes function can be used to get information about the dimension of the matrix and dimnames (dimension names). For example;

> attributes(mymatrix)