Uvod v matrike v R

Kot vemo, so matriki predmeti, ki lahko shranjujejo dve ali več dvodimenzionalnih podatkov. V R ima Array enak koncept, ki je ustvarjen s funkcijo array (). Tu se podatki shranijo v matrice obrazcev, vrstic in stolpcev. Za dostop do določenega elementa iz matrike je treba določiti indeks vrstic, indeks stolpcev in matriko.

Matrice, ki se pogosto uporabljajo v R, je posebna vrsta 2-D matrike.

Slikovna predstavitev: Vektor, Matrica, Niz

  • Enodimenzionalni niz, imenovan vektor.
  • Dvodimenzionalni niz, imenovan matrica.

Sintaksa:

Tu je sintaksa matrike:

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

  • podatki - Podatki so vhodni vektor, ki se napaja v matriki.
  • matrike - Nanaša se na dimenziteto matric. Niz v R so lahko večdimenzionalne matrike.
  • row_Size - row_Size prikazuje število vrstic, iz katerih bo sestavljena matrika.
  • column_Size - column_Size prikazuje število stolpcev, iz katerih bo sestavljena matrika.
  • dimname - To polje, če želite spremeniti privzeta imena vrstic in stolpcev po želji / preferenci uporabnika.

Nepremičnine:

  • To je homogeno. To pomeni, da lahko shranjuje iste vrste podatkov.
  • Podatke shranjuje v sosednji pomnilnik
  • Do elementov matrike lahko dostopate s poznavanjem indeksne številke.

Kako ustvariti matriko v R?

Spodaj so različni scenariji, kako ustvariti matriko v r, kot sledi:

1. primer:

Ustvarimo matriko, ki bi bila matrice 3 × 4. Tu bodo 3 vrstice in 4 stolpci, matrike bodo ena. Kot naše prve korake ohranimo dimnames = NULL (kar je privzeta vrednost, če nič ni določeno).

To je enodimenzionalna matrica

R koda:

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

Izhod:

Da bi preverili, ali je bil na koncu ustvarjen niz ustvarjen ali ne.

Ko se ustvari niz:

Rezultat

Pri tem vam lahko pomaga funkcija "razred".

razred (Rezultat)

R koda:

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)

Izhod:

Če želite preveriti proizvod dimenzije matrike, lahko uporabite funkcijo: length.

R koda:

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)

Izhod:

2. scenarij:

Ustvarimo isti niz, ki bi bil matrice 3 × 4. Tu bodo spet 3 vrstice in 4 stolpci, matrike pa dve. Obdržimo dimname = NULL (kar je privzeta vrednost, če nič ni določeno).

R koda:

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

Izhod:

Scenarij 3:

Ustvarimo isti niz, ki bi bil matrice 3 × 4. Tu bodo spet 3 vrstice in 4 stolpci, matrike pa dve. Poglejmo za vrednosti, dodeljene imenikom.

R koda:

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

Izhod:

Zdaj smo dobri pri ustvarjanju matrike katere koli dimenzije. Zdaj se osredotočimo na način dostopa do katerega koli elementa v matriki.

Kako ustvariti niz elementov dostopa v R?

Spodaj so različni dostopni elementi o tem, kako ustvariti matriko v r, kot sledi -

1. primer:

Recimo, da imamo enak niz v R:

R koda:

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

Izhod:

Zdaj moramo dostopati do 3. vrstice, 3. stolpca druge matrice v nizu.

R koda:

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)

Izhod:

Če povzamemo to, se za označevanje indeksa uporabljajo kvadratni oklepaji. Za določitev indeksa v matrikah so na voljo štiri možnosti: pozitivna cela števila, negativna cela števila, logične vrednosti, imena elementov

2. scenarij:

Dostopiti morate do celotne matrike 1. matrike:

R koda:

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)

Izhod:

Delovanje različnih nizov s primeri

Ta razdelek vam bo omogočil ujemanje različnih operacij na nizih za doseganje različnih rezultatov.

1. Seštevanje in odštevanje:

Večdimenzionalno matriko je treba pretvoriti v enodimenzionalno matriko, da jo lahko dodamo ali odštejemo.

  • Dodatek:

R koda:

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

Izhod:

  • Odštevanje:

R koda:

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

Izhod:

2. Izračuni za element Array

Ime funkcije apply (), pomaga pri uporabi katere koli operacije v elementih matrike.

Sintaksa:

apply(x, margin, fun)

Tu je x matrika, tukaj se rob nanaša na vrstice ali stolpce.

  • MARGIN = 1 za izvajanje vrstice
  • MARGIN = 2 za stolpno delovanje
  • MARGIN = c (1, 2) za oba.

Fun je funkcija, ki se uporablja za vse elemente v polju podatkovnega okvira. To so lahko standardne funkcije, ki so del R ali prilagojene funkcije (uporabniško definirane)

Primer 1:

Red Wise R koda:

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)

Izhod:

Stolpec Wise - R koda:

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)

Izhod:

To daje izhod v vektorski obliki, ki vsebuje vsoto posameznih stolpcev. Tu je "vsota" standardna R funkcija.

Primer 2:

R koda:

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)

Izhod:

Tako dobimo izhod iste dimenzije. Tu je treba opozoriti, da smo uporabili uporabniško določeno funkcijo. Ta funkcija je zelo koristna in močna pri reševanju problemov v resničnem svetu. Uporabljena funkcija je osnova tudi za druge kompleksne funkcije, kot so lapply (), rapply () itd.

3. Preverite Array

Preverite, ali je objekt matrika ali ne. Ime funkcije je.array () je primitivna funkcija, ki vam omogoča to. Njen rezultat daje v smislu True ali False

R koda:

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)

Izhod:

4. Preverite velikost matrike

Poznavanje dimenzij, številnih vrstic, stolpcev matrike pomaga pri rezanju in zapisovanju podatkov. Tu je nekaj funkcij: zatemnitev, nihanje, ncol

R koda:

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)

Izhod:

5. Preverite imena vrstic in stolpcev

Da bi vedeli imena vrstic, stolpcev in imen dimenzij matrike. Spodaj je prikazano njegovo izvajanje.

R koda:

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)

Izhod:

Zaključek:

Skozi zgornjo vsebino bi vam jasno predstavilo matrike v R. R je statistični jezik in matriki so pogosto uporabljeni podatkovni objekti. To pomeni, da bo delo z različnimi operacijami, kot so seštevanje, odštevanje, uveljavljanje itd. Z nizom v kateri koli aplikaciji, za vas zdaj sprehod po torti.

Priporočeni članki

To je vodnik za Array v R. Tukaj razpravljamo o uvodu Array v R, lastnostih R, kako ustvariti matriko v R in nekaj vzorčnih primerov. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Namestite R
  2. VBA nizi
  3. Vrste podatkov v MATLAB
  4. VBA ArrayList
  5. Nizi v PHP

Kategorija: