Úvod do polí v R

Jak víme, pole jsou objekty, které mohou ukládat dva nebo více než dvourozměrná data. V R má Array stejný koncept, který je vytvořen pomocí funkce array (). Zde se data ukládají ve formě matic, řádků a sloupců. Pro přístup k určitému prvku z pole je třeba určit index řádků, index sloupců a úroveň matic.

Matice často používané v R, je speciální typ 2-D pole.

Obrázkové znázornění: vektor, matice, pole

  • Jednorozměrné pole označované jako vektor.
  • Dvourozměrné pole označované jako matice.

Syntax:

Zde je syntaxe pole:

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

  • data - Data je vstupní vektor, který je přiváděn do pole.
  • matice - Toto odkazuje na dimenzionalitu matic. Pole v R mohou být vícerozměrné matice.
  • row_Size - row_Size zobrazuje počet řádků, z nichž bude pole obsahovat.
  • column_Size - column_Size zobrazuje počet sloupců, z nichž bude pole obsahovat.
  • dimnames - Toto pole, pokud chcete změnit výchozí názvy řádků a sloupců podle přání / preference uživatele.

Vlastnosti:

  • Je to homogenní. To znamená, že může ukládat stejný typ dat.
  • Ukládá data do souvislé paměti
  • K prvkům pole lze přistupovat pomocí znalosti indexového čísla.

Jak vytvořit pole v R?

Níže jsou uvedeny různé scénáře, jak vytvořit pole v r takto:

Scénář 1:

Vytvořme pole, které bude matice 3 × 4. Zde bude 3 řádek a 4 sloupce, matice jeden. Jako první kroky si ponechte dimnames = NULL (což je výchozí hodnota, pokud není zadáno nic).

Toto je jednorozměrná matice

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ýstup:

Za účelem ověření, zda se konečně vytvořené pole vytvořilo nebo ne.

Jakmile je pole vytvořeno:

Výsledek

S tím vám může pomoci funkce „třída“.

třída (Výsledek)

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ýstup:

Aby bylo možné zkontrolovat produkt pole v poli, lze použít funkci: 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ýstup:

Scénář 2:

Vytvořme stejné pole, které by bylo maticí 3 × 4. Tady opět bude 3 řádek a 4 sloupce, ale matice budou dva. Zachovejme dimnames = NULL (což je výchozí hodnota, pokud není zadáno nic).

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ýstup:

Scénář 3:

Vytvořme stejné pole, které by bylo maticí 3 × 4. Tady opět budou 3 řádky a 4 sloupce, ale matice budou dva. Podívejme se na hodnoty přiřazené dimnamů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ýstup:

Nyní jsme schopni vytvořit řadu jakékoli dimenze. Nyní se zaměříme na způsob přístupu k libovolnému prvku v poli.

Jak vytvořit pole prvků přístupu v R?

Níže jsou uvedeny různé přístupové prvky o tom, jak vytvořit pole v r následujícím způsobem -

Scénář 1:

Řekněme, že máme stejné 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ýstup:

Nyní musíme přistupovat k 3. řadě, 3. sloupci druhé 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ýstup:

Chcete-li to shrnout, hranaté závorky se používají k označení indexu. Chcete-li určit index v polích, jsou k dispozici čtyři možnosti: kladná celá čísla, záporná celá čísla, logické hodnoty, názvy prvků

Scénář 2:

Jeden potřebuje přístup k celé matici 1. pole:

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ýstup:

Různé operace pole s příklady

Tato část vám poskytne přehled o různých operacích prováděných na polích pro dosažení různých výsledků.

1. Sčítání a odčítání:

Multidimenzionální matice musí být převedena na jednorozměrnou matici, aby mohla být přidána nebo odečtena.

  • Přidání:

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ýstup:

  • Odčítání:

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ýstup:

2. Výpočty na prvku Array

Název funkce apply (), pomáhá při provádění jakékoli operace napříč prvky pole.

Syntax:

apply(x, margin, fun)

Zde x je pole, okraj se zde vztahuje buď na řádky nebo sloupce.

  • MARGIN = 1 pro řádkový provoz
  • MARGIN = 2 pro sloupcový provoz
  • MARGIN = c (1, 2) pro oba.

Fun je funkce aplikovaná na prvky v poli datového rámce. Mohou to být standardní funkce, které jsou součástí R nebo uživatelské funkce (definované uživatelem)

Příklad 1:

Řádek 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ýstup:

Sloupec 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ýstup:

Tím se získá výstup ve vektorové podobě, která obsahuje součet jednotlivých sloupců. Zde „suma“ je standardní funkce R.

Pří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ýstup:

To dává výstup stejné dimenze. Zde je třeba poznamenat, že jsme použili uživatelem definovanou funkci. Tato funkce je velmi užitečná a výkonná při řešení skutečných problémů. Použitá funkce je také základem pro další složité funkce, jako je lapply (), rapply () atd.

3. Zkontrolujte Array

Pokud je objekt maticí, zkontrolujte pole. Název funkce is.array () je primitivní funkce, která vám to umožní. Poskytuje výstup v termínech True nebo 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ýstup:

4. Zkontrolujte velikost pole

Znalost rozměrů, řada řádků, sloupců pole pomáhá při krájení a krájení dat. Zde je několik funkcí: 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ýstup:

5. Zkontrolujte názvy řádků a sloupců

Chcete-li znát názvy řádků, sloupců a jmen dimenzí pole. Níže je uvedena jeho implementace.

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ýstup:

Závěr:

Procházení výše uvedeným obsahem by vám poskytlo jasné pochopení polí v R. R je statistický jazyk a pole jsou často používanými datovými objekty. To znamená, že práce s různými operacemi, jako je přidání, odečtení, použití atd., S polem v jakékoli aplikaci, bude nyní pro vás hračkou.

Doporučené články

Toto byl průvodce Array v R. Zde diskutujeme úvod do Arrays v R, vlastnosti R, jak vytvořit pole v R a některé příklady. Další informace naleznete také v dalších navrhovaných článcích -

  1. Nainstalujte R
  2. Pole VBA
  3. Typy dat v MATLABu
  4. VBA ArrayList
  5. Pole v PHP

Kategorie: