Въведение в масиви в 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 ще бъдат колони, но матриците ще са две. Нека да видим за стойности, присвоени на dimname.

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:

Ред 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)

изход:

Колона 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), 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. Проверете за Array

Проверете за масив дали обектът е масив или не. Името на функцията е.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 е статистически език и масивите са често използвани обекти на данни. Това означава, че работата с разновидности на операции като добавяне, изваждане, прилагане и т.н. с масив във всяко приложение вече ще бъде разходка за торта за вас.

Препоръчителни статии

Това е ръководство за Array в R. Тук обсъждаме въведение към масиви в R, свойства на R, как да създадем масив в R и някои примерни примери. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Инсталирайте R
  2. VBA масиви
  3. Типове данни в MATLAB
  4. VBA ArrayList
  5. Масиви в PHP

Категория: