Úvod do polí v R

Ako vieme, polia sú objekty, ktoré môžu ukladať dvoj alebo viac ako dvojrozmerné údaje. V R má Array rovnaký koncept, ktorý sa vytvára pomocou funkcie array (). Tu sa dáta ukladajú vo forme matíc, riadkov a stĺpcov. Aby bolo možné získať prístup k určitému prvku z poľa, je potrebné určiť index riadkov, index stĺpcov a úroveň matíc.

Matice často používané v R sú špeciálnym typom dvojrozmerného poľa.

Obrázková reprezentácia: vektor, matica, pole

  • Jednorozmerné pole označované ako vektor.
  • Dvojrozmerné pole nazývané matica.

syntaxe:

Toto je syntax poľa:

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

  • data - Data je vstupný vektor, ktorý sa privádza do poľa.
  • matice - Vzťahuje sa na rozmer matíc. Pole v R môžu byť viacrozmerné matice.
  • row_Size - row_Size zobrazuje počet riadkov, z ktorých bude matica obsahovať.
  • column_Size - column_Size zobrazuje počet stĺpcov, z ktorých bude matica obsahovať.
  • dimnames - toto pole, ak chcete zmeniť predvolené názvy riadkov a stĺpcov podľa želania alebo preferencie používateľa.

vlastnosti:

  • Je to homogénne. To znamená, že dokáže ukladať rovnaký typ údajov.
  • Ukladá údaje do súvislej pamäte
  • K prvkom poľa je možné získať prístup pomocou znalosti indexového čísla.

Ako vytvoriť pole v R?

Nižšie sú uvedené rôzne scenáre o tom, ako vytvoriť pole in r takto:

Scenár 1:

Vytvorme pole, ktoré bude maticou 3 × 4. Tu 3 bude riadok a 4 budú stĺpce, matice budú jeden. Ako prvé kroky si ponechajme dimnames = NULL (čo je predvolená hodnota, ak nie je uvedené inak).

Toto je jednorozmerná matica

R kód:

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

Výkon:

S cieľom skontrolovať, či sa konečne vytvorilo pole, alebo nie.

Po vytvorení poľa:

výsledok

Funkcia „trieda“ vám s tým môže pomôcť.

triedy (výsledku)

R kód:

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)

Výkon:

Aby bolo možné skontrolovať produkt poľa, je možné použiť funkciu: length.

R kód:

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)

Výkon:

Scenár 2:

Vytvorme rovnaké pole, ktoré by malo maticu 3 × 4. Opäť tu bude 3 riadok a 4 stĺpce, ale matice budú dva. Zachovajme dimnames = NULL (čo je predvolená hodnota, ak nie je zadané nič).

R kód:

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

Výkon:

Scenár 3:

Vytvorme rovnaké pole, ktoré by malo maticu 3 × 4. Opäť tu budú 3 riadky a 4 stĺpce, ale matice budú dva. Pozrime sa na hodnoty priradené k menám.

R kód:

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

Výkon:

Teraz sme schopní vytvoriť celý rad akejkoľvek dimenzie. Teraz sa zameriame na spôsob prístupu k ľubovoľnému prvku v poli.

Ako vytvoriť pole prvkov prístupu v R?

Nižšie sú uvedené rôzne prístupové prvky o tom, ako vytvoriť pole in r takto:

Scenár 1:

Povedzme, že máme rovnaké pole v R:

R kód:

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

Výkon:

Teraz musíme pristupovať k 3. riadku, 3. stĺpci druhej matice v poli.

R kód:

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)

Výkon:

Aby sme to zhrnuli, na označenie indexu sa používajú hranaté zátvorky. Na určenie indexu v poliach sú k dispozícii štyri možnosti: kladné celé čísla, záporné celé čísla, logické hodnoty, názvy prvkov

Scenár 2:

Je potrebné získať prístup k celej matici 1. poľa:

R kód:

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)

Výkon:

Rôzne operácie poľa s príkladmi

V tejto časti nájdete informácie o rôznych operáciách vykonaných na poliach na dosiahnutie rôznych výsledkov.

1. Sčítanie a odčítanie:

Viacrozmerná matica sa musí skonvertovať na jednorozmernú maticu, aby sa mohla pridať alebo odpočítať.

  • Doplnenie:

R kód:

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

Výkon:

  • odčítanie:

R kód:

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

Výkon:

2. Výpočty na prvku Array

Názov funkcie platí (), pomáha pri aplikovaní akejkoľvek operácie na prvky poľa.

syntaxe:

apply(x, margin, fun)

Tu x je pole, okraj sa tu vzťahuje na riadky alebo stĺpce.

  • MARGIN = 1 pre riadkovú prevádzku
  • MARGIN = 2 pre stĺpcovú prevádzku
  • MARGIN = c (1, 2) pre oba.

Fun je funkcia použitá na prvky v poli dátového rámca. Mohli by to byť štandardné funkcie, ktoré sú súčasťou R alebo užívateľské funkcie (definované používateľom)

Príklad 1:

Kód riadku Wise 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, sum)

Výkon:

Stĺpec Wise - R kód:

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)

Výkon:

Takto sa získa výstup vo vektorovej forme, ktorá obsahuje súčet jednotlivých stĺpcov. „Sum“ je tu štandardná funkcia R.

Príklad 2:

R kód:

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)

Výkon:

To dáva výstup rovnakej dimenzie. Tu si treba všimnúť, že sme použili funkciu definovanú používateľom. Táto funkcia je veľmi užitočná a výkonná pri riešení problémov v skutočnom svete. Použitá funkcia je tiež základom pre ďalšie zložité funkcie, ako je lapply (), rapply () atď.

3. Skontrolujte, či je pole Array

Skontrolujte, či je objekt pole alebo nie. Názov funkcie is.array () je primitívna funkcia, ktorá vám to umožní. Poskytuje výstup v termínoch True alebo False

R kód:

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)

Výkon:

4. Skontrolujte veľkosť poľa

Poznanie rozmerov, množstvo riadkov a stĺpcov poľa pomáha pri krájaní a rozdeľovaní údajov. Tu je niekoľko funkcií: dim, nrow, ncol

R kód:

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)

Výkon:

5. Skontrolujte názvy riadkov a stĺpcov

S cieľom poznať názvy riadkov, stĺpcov a názvov dimenzií poľa. Ďalej uvádzame jeho implementáciu.

R kód:

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)

Výkon:

záver:

Prechádzanie vyššie uvedeným obsahom by vám poskytlo jasné pochopenie polí v R. R je štatistický jazyk a polia sú často používanými dátovými objektmi. To znamená, že práca s rôznymi operáciami, ako je sčítanie, odčítanie, použitie atď., So súborom v akejkoľvek aplikácii, bude teraz pre vás hračkou.

Odporúčané články

Toto bol sprievodca pre Array v R. Tu diskutujeme úvod do polí v R, vlastnosti R, ako vytvoriť pole v R a niektoré príklady. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Nainštalujte R
  2. Polia VBA
  3. Typy údajov v MATLABe
  4. VBA ArrayList
  5. Polia v PHP

Kategórie: