Что такое матрица?
Матрица — это двумерный массив, который имеет m строк и n столбцов. Другими словами, матрица — это комбинация двух или более векторов с одинаковым типом данных.
Примечание. С помощью R. можно создать более двух массивов измерений.
Как создать матрицу в R
Мы можем создать матрицу с помощью функции matrix (). Эта функция принимает три аргумента:
matrix(data, nrow, ncol, byrow = FALSE)
Аргументы:
- data : коллекция элементов, которые 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 ()
# Print dimension of the matrix with dim() dim(matrix_a)
Вывод:
## [1] 5 2
Построить матрицу из 5 строк, которые содержат числа от 1 до 10 и byrow = 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 ()
# 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 ()
Вы можете добавить столбец в матрицу с помощью команды 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
Пример:
Мы также можем добавить более одного столбца. Давайте посмотрим следующую последовательность чисел в матрице matrix_a2. Размерность новой матрицы будет 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
ПРИМЕЧАНИЕ : количество строк матриц должно быть равным для работы 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
Нарезать матрицу
Мы можем выбрать один или несколько элементов из матрицы, используя квадратные скобки []. Вот где нарезка входит в картину.
Например:
- matrix_c [1,2] выбирает элемент в первой строке и во втором столбце.
- matrix_c [1: 3,2: 3] приводит к матрице с данными в строках 1, 2, 3 и столбцах 2, 3,
- matrix_c [, 1] выбирает все элементы первого столбца.
- matrix_c [1,] выбирает все элементы первого ряда.
Вот вывод, который вы получите для вышеуказанных кодов