R -массивы


Массивы

По сравнению с матрицами массивы могут иметь более двух измерений.

Мы можем использовать array()функцию для создания массива и dimпараметр для указания размеров:

Пример

# An array with one dimension with values ranging from 1 to 24
thisarray <- c(1:24)
thisarray

# An array with more than one dimension
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray

Объяснение примера

В приведенном выше примере мы создаем массив со значениями от 1 до 24.

Как dim=c(4,3,2)работает?
Первое и второе число в скобках указывают количество строк и столбцов.
Последнее число в скобках указывает, сколько измерений нам нужно.

Примечание. Массивы могут иметь только один тип данных.


Доступ к элементам массива

Вы можете получить доступ к элементам массива, обратившись к позиции индекса. Вы можете использовать []скобки для доступа к нужным элементам массива:

Пример

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

multiarray[2, 3, 2]

Синтаксис следующий: массив[позиция строки, позиция столбца, уровень матрицы]

Вы также можете получить доступ ко всей строке или столбцу матрицы в массиве, используя c()функцию:

Пример

thisarray <- c(1:24)

# Access all the items from the first row from matrix one
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[c(1),,1]

# Access all the items from the first column from matrix one
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[,c(1),1]

Запятая (,) перед c() означает, что мы хотим получить доступ к столбцу.

Запятая (,) после c() означает, что мы хотим получить доступ к строке.


Проверить, существует ли элемент

Чтобы узнать, присутствует ли указанный элемент в массиве, используйте %in%оператор:

Пример

Проверяем, присутствует ли в массиве значение «2»:

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

2 %in% multiarray

Количество строк и столбцов

Используйте dim()функцию, чтобы найти количество строк и столбцов в массиве:

Пример

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

dim(multiarray)

Длина массива

Используйте length()функцию, чтобы найти размерность массива:

Пример

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

length(multiarray)

Цикл через массив

Вы можете перебрать элементы массива, используя forцикл:

Пример

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

for(x in multiarray){
  print(x)
}