Вступ до масивів в 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)

Вихід:

Для того, щоб перевірити добуток масиву масиву, можна використовувати функцію: length.

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 - стовпцями, але матриць - двома. Давайте подивимося на значення, присвоєні дімнемам.

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:

Потрібно отримати доступ до всієї матриці 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)

Вихід:

Операція різних масивів із прикладами

У цьому розділі ви знайдете доступ до різних операцій, що проводяться на масивах для досягнення різних результатів.

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:

Ряд 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 () - це примітивна функція, яка дозволяє це робити. Це дає вихід у термінах «Істинно» чи «Неправдиво»

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 та деякі приклади зразків. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Встановити R
  2. Масиви VBA
  3. Типи даних у MATLAB
  4. VBA ArrayList
  5. Масиви в PHP

Категорія: