Введение в массивы в R
Как мы знаем, массивы - это объекты, которые могут хранить две или более двумерных данных. В R массив Array имеет ту же концепцию, которая создается с помощью функции array (). Здесь данные хранятся в матрицах форм, строках и столбцах. Чтобы получить доступ к конкретному элементу из массива, необходимо указать индекс строки, индекс столбца и уровень матрицы.
Матрицы, часто используемые в R, это особый тип 2-D массива.
Наглядное представление: вектор, матрица, массив
- Одномерный массив называется вектором.
- Двумерный массив называется матрицей.
Синтаксис:
Вот синтаксис массива:
Array_NAME <- array (data, dim = (row_Size, column_Size, matrices, dimnames)
- data - Данные - это входной вектор, который подается в массив.
- матрицы - это относится к размерности матриц. Массив в R может быть многомерной матрицей.
- row_Size - row_Size отображает количество строк, из которых будет состоять массив.
- column_Size - column_Size показывает количество столбцов, из которых будет состоять массив.
- dimnames - это поле, если нужно изменить имена строк и столбцов по умолчанию на пожелания / предпочтения пользователя.
Свойства:
- Это однородно. Это означает, что он может хранить данные того же типа.
- Хранит данные в непрерывной памяти
- Доступ к элементам массива можно получить, зная номер индекса.
Как создать массив в R?
Ниже приведены различные сценарии создания массива в r следующим образом:
Сценарий 1:
Давайте создадим массив, который будет 3 × 4 матриц. Здесь 3 будут строки, а 4 будут столбцы, матрицы будут один. В качестве наших начальных шагов давайте оставим dimnames = NULL (это значение по умолчанию, если ничего не указано).
Это одномерная матрица
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Выход:
Чтобы проверить, был ли создан наконец созданный массив или нет.
Как только массив будет создан:
Результат
Функция «класс» может помочь вам в этом.
класс (результат)
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
class(Result)
Выход:
Чтобы проверить произведение измерения массива, можно использовать функцию: длина.
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
length(Result)
Выход:
Сценарий 2:
Давайте создадим тот же массив, который будет 3 × 4 матриц. Здесь снова 3 будет строкой, а 4 - столбцами, а матриц - двумя. Давайте сохраним dimnames = NULL (это значение по умолчанию, если ничего не указано).
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 2)))
Выход:
Сценарий 3:
Давайте создадим тот же массив, который будет 3 × 4 матриц. Здесь снова 3 будет строкой и 4 будет столбцами, но матриц будет два. Давайте посмотрим на значения, присвоенные dimnames.
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names ))
Выход:
Теперь мы хороши в создании массива любой размерности. Теперь давайте сосредоточимся на способе доступа к любому элементу в массиве.
Как создать массив элементов доступа в R?
Ниже приведены различные элементы доступа о том, как создать массив в r следующим образом:
Сценарий 1:
Допустим, у нас есть один и тот же массив в R:
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
Выход:
Теперь нам нужно получить доступ к 3- й строке, 3- му столбцу второй матрицы в массиве.
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(3, 3, 2)
Выход:
Подводя итог, квадратные скобки используются для обозначения индекса. Чтобы указать индекс в массивах, доступны четыре варианта: положительные целые числа, отрицательные целые числа, логические значения, имена элементов
Сценарий 2:
Нужно получить доступ ко всей первой матричной матрице:
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1)
Выход:
Различные операции с массивами с примерами
В этом разделе вы познакомитесь с различными операциями над массивами для достижения различных результатов.
1. Сложение и вычитание:
Многомерная матрица должна быть преобразована в одномерную матрицу, чтобы быть добавленной или вычтенной.
- Дополнение:
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) + result(,, 2))
Выход:
- Вычитание:
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) - result(,, 2))
Выход:
2. Расчеты по элементу Array
Имя функции apply (), помогает в применении любой операции к элементам массива.
Синтаксис:
apply(x, margin, fun)
Здесь x - массив, поле здесь относится либо к строкам, либо к столбцам.
- MARGIN = 1 для построчной операции
- MARGIN = 2 для столбцов
- MARGIN = c (1, 2) для обоих.
Fun - это функция, применяемая ко всем элементам в массиве фрейма данных. Это могут быть стандартные функции, которые являются частью R или пользовательские функции (определяемые пользователем)
Пример 1:
Row Wise R код:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, sum)
Выход:
Мудрый столбец - код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 2, sum)
Выход:
Это дает вывод в векторной форме, которая содержит сумму отдельных столбцов. Здесь «сумма» является стандартной функцией R.
Пример 2:
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, function(x) x+10)
Выход:
Это дает вывод того же измерения. Здесь следует отметить, что мы применили пользовательскую функцию. Эта функция очень полезна и эффективна при решении реальных проблем. Применяемая функция также является базовой для других сложных функций, таких как lapply (), rapply () и т. Д.
3. Проверьте массив
Проверьте массив, является ли объект массивом или нет. Имя функции is.array () является примитивной функцией, которая позволяет вам это делать. Это дает вывод в терминах True или False
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) is.array(result)
Выход:
4. Проверьте размер массива
Знание размерности, количества строк, столбцов массива помогает в нарезке и копировании данных. Вот несколько функций для этого: dim, nrow, ncol
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
result <- array(c(vector1, vector2), dim = c(3, 4, 2))
print(result)
dim(result)
nrow(result)
ncol(result)
Выход:
5. Проверьте имена строк и столбцов
Чтобы узнать имена строк, столбцов и имен измерений массива. Ниже показана его реализация.
Код R:
vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
rownames(result)
colnames(result)
dimnames(result)
Выход:
Вывод:
Изучение вышеуказанного содержимого дало бы вам четкое представление о массивах в R. R - это статистический язык, а массивы - часто используемые объекты данных. Это означает, что работа с различными операциями, такими как сложение, вычитание, применение и т. Д. С массивом в любом приложении, теперь станет для вас легкой прогулкой.
Рекомендуемые статьи
Это было руководство по Массиву в R. Здесь мы обсуждаем введение в Массивы в R, свойства R, как создать массив в R и некоторые примеры. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Установить R
- VBA Arrays
- Типы данных в MATLAB
- VBA ArrayList
- Массивы в PHP