Матрична функция в R: Създаване, печат, добавяне на колона и срез
Матрична функция в R
Матрична функция в R е двумерен масив, който има m брой редове и n брой колони. С други думи, матрицата в 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
Изход:
Отпечатайте размерите на матрицата с 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
Изход:
Отпечатайте размерите на матрицата с 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,] избира всички елементи от първия ред.
Ето резултата, който получавате за горните кодове




