Funkce matice v R: Vytvořit, vytisknout, přidat sloupec a řez

Maticová funkce v R

Maticová funkce v R je 2-rozměrné pole, které má m počet řádků a n počet sloupců. Jinými slovy, matice v programování R je kombinací dvou nebo více vektorů se stejným datovým typem.

Poznámka: Je možné vytvořit více než dvourozměrná pole s maticovou funkcí v R.

Maticová funkce v R

Jak vytvořit matici v R

Pomocí funkce matrix() můžeme vytvořit matici. Následuje funkce pro vytvoření matice v R, která má tři argumenty:

matrix(data, nrow, ncol, byrow = FALSE)

argumenty:

  • datum: Kolekce prvků, které R uspořádá do řádků a sloupců matice \
  • nrow: Počet řádků
  • ncol: Počet sloupců
  • byrow: Řádky se vyplňují zleva doprava. `byrow = FALSE` (výchozí hodnoty), pokud chceme, aby byla matice vyplněna sloupci, tj. hodnoty se vyplňují shora dolů.

Vytvořme dvě matice 5×2 s posloupností čísel od 1 do 10, jednu s byrow = TRUE a jednu s byrow = FALSE, abychom viděli rozdíl.

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  TRUE 
matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5)
matrix_a

Výstup:

Vytvořte matici v R

Tisk rozměru matice pomocí dim()

Nyní vytiskneme rozměr matice v R pomocí dim(). Syntaxe pro tisk matice v R pomocí dim() je:

# Print dimension of the matrix with dim()
dim(matrix_a)

Výstup:

## [1] 5 2

Sestrojte matici s 5 řádky, které obsahují čísla 1 až 10 a vedlejšák = FALSE

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  FALSE
matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5)
matrix_b

Výstup:

Matice s 5 řádky, které obsahují byrow = FALSE

Tisk rozměru matice pomocí dim()

Opět vytiskněte rozměr matice pomocí dim(). Níže je uvedena syntaxe rozměru tiskové matice R:

# Print dimension of the matrix with dim()
dim(matrix_b)

Výstup:

## [1] 5 2

Pozor: Použití příkazu matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) bude mít stejný účinek jako výše.

Můžete také vytvořit matici 4×3 pomocí ncol. R vytvoří 3 sloupce a vyplní řádek shora dolů. Zkontrolujte příklad

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_c

Výstup:

##       [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12

Příklad:

dim(matrix_c)

Výstup:

## [1] 4 3

Přidejte sloupec do matice pomocí cbind()

Sloupec můžete přidat do matice R pomocí příkazu cbind(). cbind() znamená vazbu sloupců.cbind() může zřetězit tolik matic nebo sloupců, kolik je specifikováno. Například náš předchozí příklad vytvořil matici 5×2. Zřetězíme třetí sloupec a ověříme, že rozměr je 5×3

Příklad:

# concatenate c(1:5) to the matrix_a
matrix_a1 <- cbind(matrix_a, c(1:5))
# Check the dimension
dim(matrix_a1)

Výstup:

## [1] 5 3

Příklad:

matrix_a1

Výstup

##       [,1] [,2] [,3]
## [1,]    1    2    1
## [2,]    3    4    2
## [3,]    5    6    3
## [4,]    7    8    4
## [5,]    9   10    5

Příklad:

Můžeme také přidat sloupec do matice R, a to více než jednou. Podívejme se na další posloupnost čísel k matici matice_a2. Rozměr nových matic v R bude 4×6 s číslem od 1 do 24.

matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)

Výstup:

##      [,1] [,2] [,3]
## [1,]   13   17   21
## [2,]   14   18   22
## [3,]   15   19   23
## [4,]   16   20   24

Příklad:

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)		
matrix_d <- cbind(matrix_a2, matrix_c)
dim(matrix_d)

Výstup:

## [1] 4 6

POZNÁMKA: Počet řádků matic v R by měl být stejný pro práci cbind

cbind()zřetězit sloupce, rbind() připojí řádky. Přidejme jeden řádek do naší matice matice_c a ověřme, že rozměr je 5×3

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
# Create a vector of 3 columns
add_row <- c(1:3)
# Append to the matrix
matrix_c <- rbind(matrix_c, add_row)
# Check the dimension
dim(matrix_c)

Výstup:

## [1] 5 3

Rozkrojte Matrix

Můžeme vybrat prvky jeden nebo více prvků z matice v Programování R. pomocí hranatých závorek [ ]. Zde přichází na scénu krájení.

Například:

  • matrix_c[1,2] vybere prvek na prvním řádku a druhém sloupci.
  • matrix_c[1:3,2:3] vede k matici řezu R s daty na řádcích 1, 2, 3 a sloupcích 2, 3,
  • matrix_c[,1] vybere všechny prvky prvního sloupce.
  • matrix_c[1,] vybere všechny prvky prvního řádku.

Zde je výstup, který získáte pro výše uvedené kódy

Rozkrojte Matrix