## Arrays in R programming language in simple language

# Arrays are data objects in the R programming language that can store data in more than two dimensions. For example – if we create an array of dimensions (2,3,4);

This array can then create 4 rectangular matrices, each with 2 rows and 3 columns. Arrays can only store data types.

An array is created using the Array () function. This array adopts vectors as input and to create arrays; Uses values that are **dim** parameters .

## Example

The following example creates an array of 3 matrices, each with 3 rows and 3 columns.

# Create two vectors of different lengths.

vector1 <- c (5,9,3)

vector2 <- c (10,11,12,13,14,15)

# Take these vectors as input to the array.

result <- array (c (vector1, vector2), dim = c (3,3,2))

print (result)

When we run the above code; The following results are generated:

,, ۱

[, 1] [, 2] [, 3]

[1,] 5 10 13

[2,] 9 11 14

[3,] 3 12 15

,, ۲

[, 1] [, 2] [, 3]

[1,] 5 10 13

[2,] 9 11 14

[3,] 3 12 15

## Names of rows and columns

We can arrange rows, columns and matrices within an array; **Assign** the desired name using the **dimnames** parameter .

# Create two vectors of different lengths.

vector1 <- c (5,9,3)

vector2 <- c (10,11,12,13,14,15)

column.names <- c (“COL1 ″,” COL2 ″, ”COL3”)

row.names <- c (“ROW1 ″,” ROW2 ″, ”ROW3”)

matrix.names <- c (“Matrix1 ″,” Matrix2 ”)

# Take these vectors as input to the array.

result <- array (c (vector1, vector2), dim = c (3,3,2), dimnames = list (row.names, column.names,

matrix.names))

print (result)

When we run the above code; The following results are generated:

,, Matrix1

COL1 COL2 COL3

ROW1 5 10 13

ROW2 9 11 14

ROW3 3 12 15

,, Matrix2

COL1 COL2 COL3

ROW1 5 10 13

ROW2 9 11 14

ROW3 3 12 15

## Access array members

# Create two vectors of different lengths.

vector1 <- c (5,9,3)

vector2 <- c (10,11,12,13,14,15)

column.names <- c (“COL1 ″,” COL2 ″, ”COL3”)

row.names <- c (“ROW1 ″,” ROW2 ″, ”ROW3”)

matrix.names <- c (“Matrix1 ″,” Matrix2 ”)

# Take these vectors as input to the array.

result <- array (c (vector1, vector2), dim = c (3,3,2), dimnames = list (row.names,

column.names, matrix.names))

# Print the third row of the second matrix of the array.

print (result [3,, 2])

# Print the element in the 1st row and 3rd column of the 1st matrix.

print (result [1,3,1])

# Print the 2nd Matrix.

print (result [,, 2])

When we run the above code; The following result is obtained:

COL1 COL2 COL3

۳ ۱۲ ۱۵

[1] 13

COL1 COL2 COL3

ROW1 5 10 13

ROW2 9 11 14

ROW3 3 12 15

## Employ array members

As arrays are made of matrices with different dimensions; Operations on elements are performed by accessing matrix members.

# Create two vectors of different lengths.

vector1 <- c (5,9,3)

vector2 <- c (10,11,12,13,14,15)

# Take these vectors as input to the array.

array1 <- array (c (vector1, vector2), dim = c (3,3,2))

# Create two vectors of different lengths.

vector3 <- c (9,1,0)

vector4 <- c (6,0,11,3,14,1,2,6,9)

array2 <- array (c (vector1, vector2), dim = c (3,3,2))

# create matrices from these arrays.

matrix1 <- array1 [,, 2]

matrix2 <- array2 [,, 2]

# Add the matrices.

result <- matrix1 + matrix2

print (result)

When we run the above code; We get the following result:

[, 1] [, 2] [, 3]

[1,] 10 20 26

[2,] 18 22 28

[3,] 6 24 30

## Computations on array members

Using the **apply ****() ****function,** we can perform calculations on members of an array.

**Syntax**

apply (x, margin, fun)

The parameters that we write in the above code are as follows:

**x is**an array.**margin is the**name of the data set used.**fun is a**function that must be applied to members of an array.

**Example**

In the following coding, we use the apply () function to calculate the sum of the elements in the rows of all the matrices in an array.

# Create two vectors of different lengths.

vector1 <- c (5,9,3)

vector2 <- c (10,11,12,13,14,15)

# Take these vectors as input to the array.

new.array <- array (c (vector1, vector2), dim = c (3,3,2))

print (new.array)

# Use apply to calculate the sum of the rows across all the matrices.

result <- apply (new.array, c (1), sum)

print (result)

When we run the above code; We achieve the following results:

,, ۱

[, 1] [, 2] [, 3]

[1,] 5 10 13

[2,] 9 11 14

[3,] 3 12 15

,, ۲

[, 1] [, 2] [, 3]

[1,] 5 10 13

[2,] 9 11 14

[3,] 3 12 15

[1] 56 68 60