Introduktion til Arrays i R

Som vi ved, er arrays de objekter, der kan gemme to eller flere end todimensionelle data. I R har Array det samme koncept, som oprettes ved hjælp af funktionen array (). Her gemmes data i formmatrixer, rækker og kolonner. For at få adgang til et specifikt element fra array skal man specificere rækkeindeks, kolonneindeks og matrixniveau.

Matrixer, der ofte bruges i R, er speciel type 2-D array.

Billedrepræsentation: Vector, Matrix, Array

  • En dimensionel matrix refereret til som en vektor.
  • To-dimensionelt array kaldet en matrix.

Syntaks:

Her er syntaks for array:

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

  • data - Data er en inputvektor, der mates til matrixen.
  • matrixer - Dette henviser til matrixens dimensionalitet. Array i R kan være multidimensionelle matrixer.
  • række_størrelse - række_størrelse viser antallet af rækker, som en matrix vil bestå af.
  • column_Size - column_Size viser antallet af kolonner, som en matrix vil bestå af.
  • dimnames - Dette felt hvis der skal ændres standardnavne på rækker og kolonner til brugerens ønske / præference.

Ejendomme:

  • Det er homogent. Det betyder, at det kan gemme den samme type data.
  • Det gemmer data i sammenhængende hukommelse
  • Man kan få adgang til arrayelementer ved at kende indeksnummeret.

Sådan oprettes en matrix i R?

Nedenfor er forskellige scenarier for, hvordan man opretter en matrix i r som følger:

Scenario 1:

Lad os oprette en matrix, der ville være 3 × 4 matrixer. Her 3 vil række og 4 vil være kolonner, matrixer vil være en. Som vores indledende trin, lad os holde dimnames = NULL (som er en standardværdi, hvis intet er angivet).

Dette er en endimensionel matrix

R-kode:

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

Produktion:

For at kontrollere, om endelig oprettet array blev oprettet eller ej.

Når array er oprettet:

Resultat

Funktionen "klasse" kan hjælpe dig med det.

klasse (Resultat)

R-kode:

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)

Produktion:

For at kontrollere dimensionens produkt af arrayet kan man bruge funktion: længde.

R-kode:

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)

Produktion:

Scenario 2:

Lad os oprette den samme matrix, som ville være 3 × 4 matrixer. Her igen, 3 vil være en række og 4 vil være kolonner, men matrixer vil være to. Lad os holde dimnames = NULL (som er en standardværdi, hvis intet er angivet).

R-kode:

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

Produktion:

Scenario 3:

Lad os oprette den samme matrix, som ville være 3 × 4 matrixer. Her igen er 3 række og 4 kolonner, men matrixer er to. Lad os se efter værdier, der er tildelt dimnames.

R-kode:

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

Produktion:

Nu er vi gode til at skabe en række af enhver dimensionalitet. Lad os nu fokusere på måden at få adgang til ethvert element i en matrix.

Sådan opretter du en array med adgangselementer i R?

Nedenfor er forskellige adgangselementer til, hvordan man opretter en matrix i r som følger -

Scenario 1:

Lad os sige, at vi har den samme matrix i R:

R-kode:

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

Produktion:

Nu er vi nødt til at få adgang til 3. række, 3. kolonne i den anden matrix i matrixen.

R-kode:

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)

Produktion:

For at opsummere dette bruges firkantede parenteser til at betegne et indeks. For at specificere indekset i arrays er der fire valgmuligheder tilgængelige: positive heltal, negative heltal, logiske værdier, elementnavne

Scenario 2:

Man skal have adgang til en hel 1. matrix-matrix:

R-kode:

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)

Produktion:

Forskellige array-operationer med eksempler

Dette afsnit giver dig greb over forskellige operationer, der udføres på arrays for at opnå forskellige resultater.

1. Tilføjelse og subtraktion:

Multidimensionel matrix skal konverteres til den endimensionelle matrix for at blive tilføjet eller subtraheret.

  • Tilføjelse:

R-kode:

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

Produktion:

  • Subtraktion:

R-kode:

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

Produktion:

2. Beregninger på Array-element

Et funktionsnavn anvendes (), hjælper med at anvende enhver operation på tværs af matrixelementer.

Syntaks:

apply(x, margin, fun)

Her er x en matrix, margenen her refererer til enten rækker eller kolonner.

  • MARGIN = 1 til rækkevis betjening
  • MARGIN = 2 til kolonnevis drift
  • MARGIN = c (1, 2) for begge.

Sjov er den funktion, der anvendes på tværs af elementer i matrixen af ​​datarammen. Dette kan være standardfunktionerne, der er en del af R eller brugerdefinerede funktioner (brugerdefineret)

Eksempel 1:

Række Wise R-kode:

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)

Produktion:

Kolonne klogt - R-kode:

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)

Produktion:

Dette giver output i vektorform, som indeholder summen af ​​individuelle kolonner. Her er "sum" standard R-funktion.

Eksempel 2:

R-kode:

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)

Produktion:

Dette giver output med den samme dimension. Det, der skal bemærkes her, er, at vi har anvendt en brugerdefineret funktion. Denne funktion er meget nyttig og kraftfuld, mens man løser problemer i den virkelige verden. Den anvendte funktion er også base for andre komplekse funktioner som lapply (), rapply () osv.

3. Kontroller for Array

Kontroller for array, hvis objektet er et array eller ej. Funktionsnavnet is.array () er en primitiv funktion, der lader dig gøre det. Det giver output i termer sandt eller falsk

R-kode:

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)

Produktion:

4. Kontroller størrelsen på Array

At kende dimensionalitet, et antal rækker, kolonner i matrix hjælper med at skære og skæres af data. Her er nogle funktioner, der gør det: dim, nrow, ncol

R-kode:

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)

Produktion:

5. Kontroller navnene på række og kolonner

For at kende navnene på rækker, kolonner og dimensionernavne på en matrix. Nedenfor vises den viste implementering af den.

R-kode:

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)

Produktion:

Konklusion:

At gennemgå ovennævnte indhold ville have givet dig en klar forståelse af matriser i R. R er et statistisk sprog, og arrays er ofte anvendte dataobjekter. Dette betyder, at arbejde med forskellige operationer som tilføje, trække, anvende osv. Med en matrix i ethvert program, nu vil være en kage gåtur for dig.

Anbefalede artikler

Dette har været en guide til Array i R. Her diskuterer vi en introduktion til Arrays i R, egenskaber ved R, hvordan man opretter en matrix i R og nogle eksempler på eksempler. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Installer R
  2. VBA Arrays
  3. Datatyper i MATLAB
  4. VBA ArrayList
  5. Arrays i PHP

Kategori: