Матрична функция в R: Създаване, печат, добавяне на колона и срез

Матрична функция в R

Матрична функция в R е двумерен масив, който има m брой редове и n брой колони. С други думи, матрицата в R програмирането е комбинация от два или повече вектора със същия тип данни.

Забележка: Възможно е да се създадат повече от двумерни масиви с матрична функция в R.

Матрична функция в R

Как да създадете матрица в R

Можем да създадем матрица с функцията matrix(). Следва функция за създаване на матрица в R, която приема три аргумента:

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

аргументи:

  • данни: Колекцията от елементи, които R ще подреди в редовете и колоните на матрицата \
  • nrow: Брой редове
  • ncol: Брой колони
  • byrow: Редовете се попълват отляво надясно. Използваме `byrow = FALSE` (стойности по подразбиране), ако искаме матрицата да бъде запълнена от колоните, т.е. стойностите се попълват отгоре надолу.

Нека изградим две матрици 5×2 с последователност от числа от 1 до 10, една с byrow = TRUE и една с byrow = FALSE, за да видим разликата.

# 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

Изход:

Създайте матрица в R

Отпечатайте размерите на матрицата с dim()

Сега нека отпечатаме измерението на матрицата в R с dim(). Синтаксисът за отпечатване на матрица в R с помощта на dim() е:

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

Изход:

## [1] 5 2

Конструирайте матрица с 5 реда, които съдържат числата от 1 до 10 и ред = 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

Изход:

Матрица с 5 реда, които съдържат byrow = FALSE

Отпечатайте размерите на матрицата с dim()

Отново отпечатайте размерите на матрицата с помощта на dim(). По-долу е даден синтаксис на размерността на матрицата за печат на R:

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

Изход:

## [1] 5 2

Забележка: Използването на команда matrix_b <-matrix(1:10, byrow = FALSE, ncol = 2) ще има същия ефект като по-горе.

Можете също да създадете матрица 4 × 3, като използвате ncol. R ще създаде 3 колони и ще запълни реда отгоре надолу. Вижте пример

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

Изход:

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

Пример:

dim(matrix_c)

Изход:

## [1] 4 3

Добавяне на колона към матрица с cbind()

Можете да добавите колона към матрица R с командата cbind(). cbind() означава свързване на колони.cbind() може да свърже колкото се може повече матрици или колони, както е посочено. Например нашият предишен пример създаде матрица 5×2. Свързваме трета колона и проверяваме, че размерът е 5×3

Пример:

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

Изход:

## [1] 5 3

Пример:

matrix_a1

Продукция

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

Пример:

Можем също да добавим колона към матрица R, повече от веднъж. Нека видим следващата последователност от числа към матрицата matrix_a2. Размерът на новите матрици в R ще бъде 4×6 с номера от 1 до 24.

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

Изход:

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

Пример:

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

Изход:

## [1] 4 6

ЗАБЕЛЕЖКА: Броят на редовете от матрици в R трябва да бъде равен за работата на cbind

cbind()свързва колони, rbind() добавя редове. Нека добавим един ред към нашата матрица matrix_c и проверим, че размерът е 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)

Изход:

## [1] 5 3

Нарежете матрица

Можем да изберем елементи един или много елементи от матрица в R програмиране като използвате квадратните скоби []. Тук се появява нарязването.

Например:

  • matrix_c[1,2] избира елемента на първия ред и втората колона.
  • matrix_c[1:3,2:3] води до R срезова матрица с данните в редове 1, 2, 3 и колони 2, 3,
  • matrix_c[,1] избира всички елементи от първата колона.
  • matrix_c[1,] избира всички елементи от първия ред.

Ето резултата, който получавате за горните кодове

Нарежете матрица

Обобщете тази публикация с: