Introducere în Arrays în R

După cum știm, tablourile sunt obiecte care pot stoca două sau mai multe date bidimensionale. În R, Array are același concept, care este creat folosind funcția array (). Aici datele sunt stocate în matrice de formă, rânduri și coloane. Pentru a accesa un anumit element din tablou, trebuie să specificați indexul de rând, indexul de coloană și nivelul matricei.

Matricile utilizate frecvent în R, este un tip special de matrice 2-D.

Reprezentare picturală: Vector, Matrice, Array

  • Un tablou dimensional denumit vector.
  • Matricea bidimensională denumită matrice.

Sintaxă:

Iată sintaxa tabloului:

Array_NAME <- array (data, dim = (row_Size, column_Size, matrices, dimnames)

  • date - Datele este un vector de intrare care este alimentat în tablou.
  • matrice - Aceasta se referă la dimensionalitatea matricelor. Matricea în R poate fi matrice multidimensională.
  • row_Size - row_Size descrie numărul de rânduri din care va face parte un tablou.
  • column_Size - column_Size descrie numărul de coloane din care va face parte un tablou.
  • nume dimm - Acest câmp dacă se schimbă numele implicite ale rândurilor și coloanelor în dorințele / preferințele utilizatorului.

Proprietăți:

  • Este omogen. Asta înseamnă că poate stoca același tip de date.
  • Stochează datele în memoria contiguă
  • Puteți accesa elementele Array știind numărul indexului.

Cum se creează un tablou în R?

Mai jos sunt diferite scenarii cu privire la modul de a crea un tablou în r după cum urmează:

Scenariul 1:

Să creăm un tablou care ar fi 3 × 4 matrici. Aici 3 vor rânduri și 4 vor fi coloane, matricile vor fi una. Ca pași inițiali, să păstrăm numerele = NULL (care este o valoare implicită, dacă nu este specificat nimic).

Aceasta este o matrice unidimensională

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

ieşire:

Pentru a verifica dacă în cele din urmă matricea creată a fost creat sau nu.

Odată ce tabloul este creat:

Rezultat

Funcția „clasă” vă poate ajuta în acest sens.

Clasa (Rezultat)

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

ieşire:

Pentru a verifica produsul dimensiunii din tablou, se poate utiliza funcția: lungime.

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

ieşire:

Scenariul 2:

Să creăm același tablou care ar fi matrice 3 × 4. Aici, din nou, 3 vor fi un rând și 4 vor fi coloane, dar matricile vor fi două. Să păstrăm numerele dimnames = NULL (care este o valoare implicită, dacă nu este specificat nimic).

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

ieşire:

Scenariul 3:

Să creăm același tablou care ar fi matrice 3 × 4. Aici, din nou, 3 vor fi rând și 4 vor fi coloane, dar matricile vor fi două. Să vedem valorile alocate numelor dimn.

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

ieşire:

Acum suntem buni la crearea unui tablou de orice dimensionalitate. Permite acum să se concentreze pe modul de acces la orice element dintr-un tablou.

Cum să creezi un tablou de elemente de acces în R?

Mai jos sunt diferite elemente de acces despre cum se poate crea un tablou în r, după cum urmează -

Scenariul 1:

Să spunem că avem aceeași matrice în R:

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

ieşire:

Acum, trebuie să accesăm rândul 3, coloana a 3 - a a doua matrică din tablă.

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

ieşire:

Pentru a rezuma acest lucru, parantezele pătrate sunt utilizate pentru a indica un indice. Pentru a specifica indexul în tablouri, există patru opțiuni disponibile: numere întregi pozitive, numere întregi negative, valori logice, nume de elemente

Scenariul 2:

Trebuie să accesați o întreagă matrice 1:

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

ieşire:

Operațiune diferită cu Array cu exemple

Această secțiune vă va oferi control asupra diferitelor operațiuni efectuate pe tablouri pentru obținerea de rezultate diferite.

1. Adunare și scădere:

Matricea multidimensională trebuie convertită în matricea unidimensională, pentru a fi adăugată sau scăzută.

  • Plus:

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

ieşire:

  • Scădere:

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

ieşire:

2. Calcule pe elementul Array

Un nume de funcție se aplică (), ajută la aplicarea oricărei operații pe elemente de matrice.

Sintaxă:

apply(x, margin, fun)

Aici x este un tablou, aici marginea se referă la rânduri sau coloane.

  • MARGIN = 1 pentru funcționarea în rânduri
  • MARGIN = 2 pentru operarea în formă de coloană
  • MARGIN = c (1, 2) pentru ambele.

Fun este funcția aplicată peste elemente din tabloul cadrului de date. Aceasta ar putea fi funcțiile standard care fac parte din funcțiile R sau personalizate (definite de utilizator)

Exemplul 1:

Row Wise R Code:

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)

ieşire:

Coloana Înțelept - Cod 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)

ieşire:

Aceasta oferă o ieșire sub formă de vector care conține suma de coloane individuale. Aici „suma” este funcția standard R.

Exemplul 2:

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

ieşire:

Aceasta oferă ieșirea aceleiași dimensiuni. Lucrul de remarcat aici este că am aplicat funcția definită de utilizator. Această funcție este foarte utilă și puternică în timp ce rezolvați probleme din lumea reală. Funcția aplicată este, de asemenea, de bază pentru alte funcții complexe, cum ar fi lapply (), rapply (), etc.

3. Verificați Array

Verificați dacă tabelul este sau nu obiect. Numele funcției este.array () este o funcție primitivă care vă permite să faceți acest lucru. Este rezultatul său în termeni Adevărat sau Fals

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

ieşire:

4. Verificați dimensiunea Array

Cunoscând dimensionalitatea, un număr de rânduri, coloane de tablă ajută la tăierea și tăierea datelor. Iată câteva funcții pentru a face asta: dim, nrow, ncol

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

ieşire:

5. Verificați numele rândurilor și coloanelor

Pentru a cunoaște numele de rânduri, coloane și nume de dimensiuni ale unui tablou. Mai jos este prezentată punerea în aplicare a acesteia.

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

ieşire:

Concluzie:

Parcurgerea conținutului de mai sus v-ar fi dat o înțelegere clară a tablourilor din R. R este un limbaj statistic, iar tablele sunt obiecte de date utilizate frecvent. Aceasta înseamnă că lucrul cu varietăți de operațiuni cum ar fi adunarea, scăderea, aplicarea etc., cu un tablou în orice aplicație, va fi acum o plimbare pentru tort.

Articole recomandate

Acesta a fost un ghid pentru Array în R. Aici discutăm o introducere în Arrays în R, proprietățile lui R, cum să creăm un tablou în R și câteva exemple de exemple. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Instalați R
  2. VBA Array-uri
  3. Tipuri de date în MATLAB
  4. VBA ArrayList
  5. Arătări în PHP

Categorie: