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.

Mátrix függvény az 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:

Hozzon létre egy mátrixot R-ben

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:

Mátrix 5 sorral, amely melléksort tartalmaz = HAMIS

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

Szeletelj fel egy mátrixot