Introduktion till Arrays i R

Som vi vet är matriser objekt som kan lagra två eller mer än tvådimensionell data. I R har Array samma koncept som skapas med funktionen array (). Här lagras data i formmatriser, rader och kolumner. För att få åtkomst till ett specifikt element från array måste man ange radindex, kolumnindex och matrisnivå.

Matriser som ofta används i R, är speciell typ av 2-D-array.

Bildrepresentation: Vektor, Matrix, Array

  • En dimensionell matris som kallas en vektor.
  • Två-dimensionell matris kallad en matris.

Syntax:

Här är syntaxen för array:

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

  • data - Data är en inmatningsvektor som matas till matrisen.
  • matriser - Detta avser matrisens dimensionalitet. Array i R kan vara flerdimensionella matriser.
  • row_Size - row_Size visar antalet rader som en matris kommer att bestå av.
  • column_Size - column_Size visar antalet kolumner som en matris kommer att bestå av.
  • dimnames - Detta fält om för att ändra standardnamn på rader och kolumner till användarens önskemål / önskemål.

Egenskaper:

  • Det är homogent. Det betyder att den kan lagra samma typ av data.
  • Den lagrar data i ett sammanhängande minne
  • Du kan nå arrayelement genom att känna till indexnumret.

Hur skapar jag en matris i R?

Nedan finns olika scenarier för hur du skapar en matris i r enligt följande:

Scenario 1:

Låt oss skapa en matris som skulle vara 3 × 4 matriser. Här kommer 3 att rad och 4 kommer att vara kolumner, matriser kommer att vara en. Som våra första steg, låt oss hålla dimnames = NULL (som är ett standardvärde, om inget specificerat).

Detta är en endimensionell matris

R-kod:

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:

För att kontrollera om äntligen skapad matris har skapats eller inte.

När array skapas:

Resultat

Funktionen "klass" kan hjälpa dig med det.

klass (resultat)

R-kod:

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:

För att kontrollera dimensionens produkt av matrisen kan man använda funktion: längd.

R-kod:

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:

Låt oss skapa samma matris som skulle vara 3 × 4 matriser. Här igen kommer 3 att vara en rad och 4 kommer att vara kolumner, men matriser är två. Låt oss hålla dimnames = NULL (som är ett standardvärde, om inget specificerat).

R-kod:

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:

Låt oss skapa samma matris som skulle vara 3 × 4 matriser. Här igen kommer 3 att vara rad och 4 kommer att vara kolumner, men matriser kommer att vara två. Låt oss se efter värden tilldelade dimnames.

R-kod:

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 är vi bra på att skapa en rad olika dimensioner. Låter oss nu fokusera på sättet att komma åt alla element i en matris.

Hur skapar jag en grupp med åtkomstelement i R?

Nedan finns olika åtkomstelement för hur du skapar en matris i r enligt följande -

Scenario 1:

Låt oss säga att vi har samma grupp i R:

R-kod:

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 måste vi komma åt tredje raden, tredje kolumnen i den andra matrisen i matrisen.

R-kod:

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:

För att sammanfatta detta används fyrkantiga parenteser för att beteckna ett index. För att ange index i matriser finns det fyra alternativ tillgängliga: positiva heltal, negativa heltal, logiska värden, elementnamn

Scenario 2:

Man måste komma åt en hel första matrismatris:

R-kod:

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:

Olika Array-funktioner med exempel

Det här avsnittet ger dig grepp om olika operationer som utförs på matriser för att uppnå olika resultat.

1. Tillsats och subtraktion:

Multidimensionell matris måste konverteras till den endimensionella matrisen för att läggas till eller subtraheras.

  • Tillägg:

R-kod:

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-kod:

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. Beräkningar på Array-element

Ett funktionsnamn tillämpas (), hjälper till att tillämpa alla operationer över olika element.

Syntax:

apply(x, margin, fun)

Här är x en matris, marginalen här avser antingen rader eller kolumner.

  • MARGIN = 1 för radvis drift
  • MARGIN = 2 för kolumnvis drift
  • MARGIN = c (1, 2) för båda.

Kul är den funktion som används över element i matrisen för dataramen. Detta kan vara standardfunktioner som ingår i R eller anpassade funktioner (användardefinierade)

Exempel 1:

Rad Wise R-kod:

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:

Column Wise - R-kod:

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:

Detta ger utdata i vektorform som innehåller summan av enskilda kolumner. Här är "summa" standard R-funktion.

Exempel 2:

R-kod:

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:

Detta ger utdata med samma dimension. Saken att märka här är att vi har använt användardefinierad funktion. Den här funktionen är mycket användbar och kraftfull medan man löser verkliga problem. Den använda funktionen är också bas för andra komplexa funktioner som lapply (), rapply (), etc.

3. Kontrollera efter Array

Sök efter array om objektet är en matris eller inte. Funktionsnamnet is.array () är en primitiv funktion som låter dig göra det. Det ger output i termer sant eller falskt

R-kod:

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. Kontrollera storleken på Array

Att känna till dimension, ett antal rader, kolumner i matrisen hjälper till att skära och skära upp data. Här är några funktioner för att göra det: dim, nrow, ncol

R-kod:

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. Kontrollera namnen på rad och kolumner

För att känna till namnen på rader, kolumner och dimensnamn på en matris. Nedan visas implementeringen av den.

R-kod:

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:

Slutsats:

Att gå igenom innehållet ovan skulle ha gett dig en klar förståelse av matriser i R. R är ett statistiskt språk och matriser används ofta dataobjekt. Detta innebär att arbeta med olika operationer som lägga till, subtrahera, applicera etc. med en matris i alla applikationer kommer nu att vara en tårtappning för dig.

Rekommenderade artiklar

Detta har varit en guide till Array i R. Här diskuterar vi en introduktion till Arrays i R, egenskaper hos R, hur man skapar en matris i R och några exempel på exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

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

Kategori: