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.
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:
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:
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