## R Matrix

### Matrix :

• A matrix is a collection of data elements arranged in a two-dimensional rectangular layout
• Matrix is a collection of vectors of same length

Consider a matrix ‘mat1’

Syntax
```mat1
class(mat1)
[1] “matrix”```

Output :

### Creating Matrix

A matrix can be created in various ways

• by using matrix() function
Syntax
```//Syntax:
matrix(data = x , nrow = ‘no. of rows’, ncol = ‘no. of columns’, byrow = TRUE/ FALSE, dimnames = “names for col and row’ )```

Consider a hospital which has 4 general physicians for consulting. We need to distribute people with the following age groups among these four physicians

Syntax
`ageGroup<-c(22,51,60,23,25,36,34,62,44,49,43,52,12,24,45,33,43,19,20,13,53,23,37,34) `

We can convert the ageGroup vector to a matrix using the matrix() function and name the columns and rows accordingly

CODE/PROGRAM/EXAMPLE
```ageGroup<-c(22,51,60,23,25,36,34,62,44,49,43,52,12,24,45,33,43,19,20,13,53,23,37,34)
length(ageGroup)
[1] 24

#Create 4 queues for each physician namely A, B, C, D
ageGroup.mat <- matrix(data = ageGroup, ncol = 4, byrow = FALSE,
dimnames = list(c("R1","R2","R3","R4","R5","R6"),
c("A","B","C","D")))
ageGroup.mat```

Output :

by using rbind() and cbind()

rbind() and cbind() functions bind different vectors of equal length as per rows and columns respectively

Syntax
```//Syntax:
x.mat <- rbind(a, b, c)  or cbind(a, b, c)```

where x is the new matrix object
a, b, c are vectors of equal length and of homogeneous type

Consider a scenario where there is a need to organize the GMAT scores of 4 members into “English, Math and Science” categories. Create a matrix from the below vectors, using rbind() and cbind() functions

CODE/PROGRAM/EXAMPLE
```Jane <- c(99,96,99.2)
Tom <- c(99.8,98.3,99.7)
Katy <- c(99.4, 99.2, 98.9)
James <- c(98.3,99.1,99.9)```

### Using rbind() function:

CODE/PROGRAM/EXAMPLE
```GMAT.mat <- rbind(Jane,Tom,Katy,James)
colnames(GMAT.mat) <- c("English","Math","Science")
GMAT.mat```

Output :

Note : Once a matrix is created using either rbind() or cbind(), it can be converted to the other respective matrix by using the transpose function, t()

colnames() and rownames() functions are used to view or modify the column and row names respectively

### dim()

dim() is used to view or modify the dimensions of a matrix or a data frame

Syntax
```//Syntax:
dim(x) <- c(a,b)```

where x can be vector, list, factor, matrix or data frame
a, b are the dimensions of x

Consider the previous example where people got divided into 4 queues as per the physicians

Say, one of the physician leaves. Now, if we want to divide the ageGroup matrix to 3 groups, use dim() function

CODE/PROGRAM/EXAMPLE
```dim(ageGroup) <- c(8,3)
ageGroup
class(ageGroup)
[1] “matrix”```

Values in a matrix can be retrieved by declaring an index inside a single square bracket “[ ]” operator

Syntax
```//Syntax:
matrix_name[x,y]```

where x, y specify the dimensions of the matrix

Consider the GMAT matrix

If we want to retrieve the Math score of Katy

CODE/PROGRAM/EXAMPLE
```GMAT.mat[2,3]
[1] 99.2```

If we want to modify the Math score of Katy

CODE/PROGRAM/EXAMPLE
```GMAT.mat[2,3] <- 99.8
GMAT.mat```

Output :

#r_language_matrix #Matrix_in_r_language #Creating_Matrix_in_language #Creating_Matrix_in_programming #rbind()_function_in_r_language #cbind()_function_in_r_language #dim()_function_in_r_language

### (New page will open, for Comment)

Not yet commented...