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)
}