Mátrix funkció az R-ben: létrehozás, nyomtatás, oszlop hozzáadása és szeletelés
Mátrix függvény az R-ben
Az R mátrixfüggvénye egy kétdimenziós tömb, amelynek m számú sora és n számú oszlopa van. Más szavakkal, a mátrix az R programozásban két vagy több, azonos adattípusú vektor kombinációja.
Jegyzet: Lehetőség van kettőnél több dimenziós tömb létrehozására mátrixfüggvénnyel R-ben.
Hogyan készítsünk mátrixot R-ben
A matrix() függvénnyel mátrixot készíthetünk. A következő egy függvény egy mátrix létrehozására R-ben, amely három argumentumot vesz fel:
matrix(data, nrow, ncol, byrow = FALSE)
érvek:
- dátum: Azon elemek gyűjteménye, amelyeket R a mátrix soraiba és oszlopaiba rendez \
- nrow: Sorok száma
- ncol: Oszlopok száma
- byrow: A sorok kitöltése balról jobbra történik. A `byrow = FALSE`-t (alapértelmezett értékek) használjuk, ha azt szeretnénk, hogy a mátrixot az oszlopok töltsék ki, azaz az értékek felülről lefelé legyenek kitöltve.
Készítsünk két 5×2-es mátrixot egy 1-től 10-ig terjedő számsorral, egy byrow = TRUE és egy byrow = FALSE értékkel, hogy lássuk a különbséget.
# 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
output:
A mátrix nyomtatási mérete a dim()
Most nyomtassuk ki a mátrix dimenzióját R-ben a dim()-lel. Az R-ben a dim() használatával kinyomtatott mátrix szintaxisa a következő:
# Print dimension of the matrix with dim() dim(matrix_a)
output:
## [1] 5 2
Készítsen egy 5 soros mátrixot, amely 1-től 10-ig tartalmazza a számokat, és a melléksor = HAMIS
# 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
output:
A mátrix nyomtatási mérete a dim()
Ismét nyomtassa ki a mátrix méretét a dim() segítségével. Az alábbiakban az R nyomtatási mátrix dimenzió szintaxisa látható:
# Print dimension of the matrix with dim() dim(matrix_b)
output:
## [1] 5 2
Megjegyzések: A matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) parancs használata ugyanazt a hatást fogja elérni, mint fent.
Az ncol segítségével 4×3-as mátrixot is létrehozhat. Az R 3 oszlopot hoz létre, és felülről lefelé tölti ki a sort. Ellenőrizze a példát
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_c
output:
## [,1] [,2] [,3] ## [1,] 1 5 9 ## [2,] 2 6 10 ## [3,] 3 7 11 ## [4,] 4 8 12
Példa:
dim(matrix_c)
output:
## [1] 4 3
Adjon hozzá egy oszlopot egy mátrixhoz a cbind()
Az R mátrixhoz oszlopot adhat hozzá a cbind() paranccsal. A cbind() oszlopkötést jelent. A cbind() tetszőleges számú mátrixot vagy oszlopot fűzhet össze. Például az előző példánk egy 5×2-es mátrixot hozott létre. Összefűzünk egy harmadik oszlopot, és ellenőrizzük, hogy a méret 5×3
Példa:
# concatenate c(1:5) to the matrix_a matrix_a1 <- cbind(matrix_a, c(1:5)) # Check the dimension dim(matrix_a1)
output:
## [1] 5 3
Példa:
matrix_a1
teljesítmény
## [,1] [,2] [,3] ## [1,] 1 2 1 ## [2,] 3 4 2 ## [3,] 5 6 3 ## [4,] 7 8 4 ## [5,] 9 10 5
Példa:
Egynél többször is hozzáadhatunk oszlopot az R mátrixhoz. Lássuk a következő számsorozatot a mátrix_a2 mátrixhoz. Az új mátrixok mérete R-ben 4×6 lesz, számuk 1-től 24-ig.
matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)
output:
## [,1] [,2] [,3] ## [1,] 13 17 21 ## [2,] 14 18 22 ## [3,] 15 19 23 ## [4,] 16 20 24
Példa:
matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3) matrix_d <- cbind(matrix_a2, matrix_c) dim(matrix_d)
output:
## [1] 4 6
JEGYZET: Az R-ben lévő mátrixok sorainak számának egyenlőnek kell lennie a cbind munkához
cbind() összefűzi az oszlopokat, az rbind() hozzáfűzi a sorokat. Adjunk hozzá egy sort a matrix_c mátrixunkhoz, és ellenőrizzük, hogy a méret 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)
output:
## [1] 5 3
Szeletelj fel egy mátrixot
Kiválaszthatunk egy vagy több elemet egy mátrixból R programozás szögletes zárójelek [ ] használatával. Itt jön a képbe a szeletelés.
Például:
- A matrix_c[1,2] az első sorban és a második oszlopban lévő elemet választja ki.
- A matrix_c[1:3,2:3] egy R szeletmátrixot eredményez az 1., 2., 3. sorban és a 2., 3. oszlopban található adatokkal,
- matrix_c[,1] kijelöli az első oszlop összes elemét.
- matrix_c[1,] kijelöli az első sor összes elemét.
Itt van a fenti kódok kimenete