# Multidimensional Array in R

Arrays are the R data objects which can store data in more than two dimensions. For example: If we create an array of dimensions (2, 3, 4) then it creates 4 rectangular matrices each with 2 rows and 3 columns. These types of arrays are called Multidimensional Arrays. Arrays can store only data types.

#### Creating a Multidimensional Array

An array is created using the `array()` function. It takes vectors as input and uses the values in the dim parameter to create an array. A multidimensional array can be created by defining the value of ‘dim‘ argument as the number of dimensions that are required.

Syntax:

```MArray = array(c(vec1, vec2), dim)
```

Examples:

 `# 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) `

Output:

```, , 1

[,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15

, , 2

[,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15
```

#### Naming Columns and Rows

We can give names to the rows, columns, and matrices in the array by using the `dimnames` parameter.

Example:

 `# 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) `

Output:

```, , 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
```

#### Manipulating Array Elements

As the array is made up of matrices in multiple dimensions, the operations on elements of the array are carried out by accessing elements of the matrices. There are various different Operations can be performed on Arrays.

Example:

 `# 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) `

Output:

```     [,1] [,2] [,3]
[1,]   10   20   26
[2,]   18   22   28
[3,]    6   24   30
```

My Personal Notes arrow_drop_up interested in Research, Innovations, Educational Advancement, Science & Spirituality, Social Transformation

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

2

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.