Lesson 4c - Arrays
Arrays are yet another container type similar to vectors and matrices.
Table of Contents
Lesson Objectives
- Briefly mention arrays
What is an Array?
An array can be thought of as a vector of matrices, or a three dimensional container. It has x rows, y columns, and z tables of x by y.
Just like vectors and matrices, they can only contain data of a single type.
Creating an Array
The format to create an array is the following:
myArray = array(vector, c(nRow, nCol, nTables))
Where vector
is a vector with the contents of the array, nRow
is the number of rows, nCol
is the number of columns, and nTables
is the number of tables.
Input
myArray = array(1:30, c(5, 2, 3)) # This creates 3 matrices that have 5 rows and 2 columns. The contents of the array are the consecutive numbers from 1 to 30.
myArray
Output
, , 1
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
, , 2
[,1] [,2]
[1,] 11 16
[2,] 12 17
[3,] 13 18
[4,] 14 19
[5,] 15 20
, , 3
[,1] [,2]
[1,] 21 26
[2,] 22 27
[3,] 23 28
[4,] 24 29
[5,] 25 30
Accessing Items in an Array
Accessing works just like with matrices, but with an added dimension.
Input
myArray = array(1:30, c(5, 2, 3))
myArray[2,1,2] # Gets the item in row2, column1, table2
Output
[1] 12
Just like matrices, you can also index for rows, columns, or tables of information at a time.
Accessing Items like a Matrix
You can also access items using the matrix notation.
Input
myArray = array(1:30, c(5, 2, 3))
myArray[,1,c(1,2)] # Gets the items in column1, table1&2
Output
[,1] [,2]
[1,] 1 11
[2,] 2 12
[3,] 3 13
[4,] 4 14
[5,] 5 15
Modifying Values in an Array
Modifying values in an array works just like any other container.
Input
myArray = array(1:30, c(5, 2, 3))
myArray[1,1,1] = -1
myArray
Output
, , 1
[,1] [,2]
[1,] -1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
, , 2
[,1] [,2]
[1,] 11 16
[2,] 12 17
[3,] 13 18
[4,] 14 19
[5,] 15 20
, , 3
[,1] [,2]
[1,] 21 26
[2,] 22 27
[3,] 23 28
[4,] 24 29
[5,] 25 30
Key Points / Summary
- Arrays are another type of container that R has to offer.
- Just like vectors and matrices, arrays can only contain data of a single type.