Introduksjon til Arrays i R

Som kjent er matriser objektene som kan lagre to eller flere enn todimensjonale data. I R har Array det samme konseptet, som opprettes ved hjelp av array () -funksjonen. Her lagres data i formmatriser, rader og kolonner. For å få tilgang til et spesifikt element fra array, må man spesifisere radindeks, kolonneindeks og matrisenivå.

Matriser som ofte brukes i R, er spesiell type 2-D-matrise.

Bildefremvisning: Vector, Matrix, Array

  • En dimensjonal matrise referert til som en vektor.
  • To-dimensjonal matrise referert til som en matrise.

syntaks:

Her er syntaks for array:

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

  • data - Data er en inputvektor som mates til matrisen.
  • matriser - Dette refererer til matrisenes dimensjonalitet. Array i R kan være flerdimensjonale matriser.
  • row_Size - row_Size viser antall rader som en matrise vil bestå av.
  • column_Size - column_Size viser antall kolonner som en matrise vil bestå av.
  • dimnames - Dette feltet hvis du vil endre standardnavnene for rader og kolonner til brukerens ønske / preferanse.

Eiendommer:

  • Det er homogent. Det betyr at den kan lagre samme type data.
  • Den lagrer data i sammenhengende minne
  • Du får tilgang til utvalgselementer ved å kjenne til indeksnummeret.

Hvordan lage en matrise i R?

Nedenfor er forskjellige scenarier for hvordan du oppretter en matrise i r som følger:

Scenario 1:

La oss lage en matrise som vil være 3 × 4 matriser. Her vil 3 rad og 4 vil være kolonner, matriser vil være en. Som de første trinnene, la oss holde dimnames = NULL (som er en standardverdi, hvis ingenting er spesifisert).

Dette er en endimensjonal matrise

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

Produksjon:

For å sjekke om endelig opprettet array ble opprettet eller ikke.

Når oppstillingen blir opprettet:

Resultat

Funksjonen "klasse" kan hjelpe deg 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)

Produksjon:

For å sjekke dimensjonens produkt av matrisen, kan man bruke funksjon: lengde.

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)

Produksjon:

Scenario 2:

La oss lage den samme matrisen som vil være 3 × 4 matriser. Her igjen, 3 vil være en rad og 4 vil være kolonner, men matriser vil være to. La oss holde dimnames = NULL (som er en standardverdi, hvis ingenting er spesifisert).

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

Produksjon:

Scenario 3:

La oss lage den samme matrisen som vil være 3 × 4 matriser. Her igjen vil 3 være rad og 4 kolonner, men matriser vil være to. La oss se etter verdier 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 ))

Produksjon:

Nå er vi flinke til å skape en rekke dimensjoner. Lar oss nå fokusere på måten å få tilgang til ethvert element i en matrise.

Hvordan lage en tilgangselement-matrise i R?

Nedenfor er forskjellige tilgangselementer for hvordan du oppretter en matrise i r som følger -

Scenario 1:

La oss si at vi har samme utvalg 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))

Produksjon:

Nå må vi få tilgang til tredje rad, tredje kolonne i den andre matrisen i matrisen.

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)

Produksjon:

For å oppsummere dette, brukes firkantede parenteser for å betegne en indeks. For å spesifisere indeksen i matriser er det fire valg tilgjengelig: positive heltall, negative heltall, logiske verdier, elementnavn

Scenario 2:

Man trenger tilgang til en hel 1. matrisematrise:

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)

Produksjon:

Ulike Array-drift med eksempler

Denne delen gir deg grep om forskjellige operasjoner som utføres på matriser for å oppnå forskjellige resultater.

1. Tilsetning og subtraksjon:

Flerdimensjonal matrise må konverteres til den endimensjonale matrisen for å bli lagt til eller trekke fra.

  • Addisjon:

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

Produksjon:

  • Subtraksjon:

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

Produksjon:

2. Beregninger på Array-element

Et funksjonsnavn gjelder (), hjelper til med å anvende enhver operasjon på tvers av matriseelementer.

syntaks:

apply(x, margin, fun)

Her er x en matrise, margen her refererer til enten rader eller kolonner.

  • MARGIN = 1 for radmessig drift
  • MARGIN = 2 for kolonnevis drift
  • MARGIN = c (1, 2) for begge.

Moro er funksjonen som brukes på tvers av elementer i rekken av datarammen. Dette kan være standardfunksjonene som er del av R eller tilpassede funksjoner (brukerdefinert)

Eksempel 1:

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

Produksjon:

Column 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), 2, sum)

Produksjon:

Dette gir utdata i vektorform som inneholder summen av individuelle kolonner. Her er "sum" standard R-funksjon.

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)

Produksjon:

Dette gir resultatet av samme dimensjon. Det du må legge merke til her er at vi har brukt brukerdefinert funksjon. Denne funksjonen er veldig nyttig og kraftig mens du løser problemer i den virkelige verden. Funksjonen som brukes er også base for andre komplekse funksjoner som lapply (), rapply (), etc.

3. Sjekk for Array

Se etter matrise om objektet er en matrise eller ikke. Funksjonsnavnet is.array () er en primitiv funksjon som lar deg gjøre det. Den gir uttrykk i sant eller usant

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)

Produksjon:

4. Kontroller størrelsen på Array

Å kjenne til dimensjonalitet, et antall rader, kolonner med matriser hjelper med å skive og terning av data. Her er noen funksjoner for å gjøre 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)

Produksjon:

5. Kontroller navn på rad og kolonner

For å kjenne til navnene på rader, kolonner og dimensjonsnavn på en matrise. Nedenfor er vist implementering av 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)

Produksjon:

Konklusjon:

Å gå gjennom innholdet ovenfor ville gitt deg en klar forståelse av matriser i R. R er et statistisk språk, og matriser er ofte brukte dataobjekter. Dette betyr at det å jobbe med forskjellige operasjoner som legge til, trekke fra, bruke osv. Med en matrise i ethvert program, nå vil være en kakertur for deg.

Anbefalte artikler

Dette har vært en guide til Array i R. Her diskuterer vi en introduksjon til Arrays i R, egenskaper til R, hvordan lage en matrise i R og noen eksempler på eksempler. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

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

Kategori: