logo

R – Матриці

R-матриця це двовимірне розташування даних у рядках і стовпцях.

У матриці рядки – це ті, які йдуть горизонтально, а стовпці – ті, які йдуть вертикально. в R програмування , матриці є двовимірними, однорідними структурами даних. Ось кілька прикладів матриць:



R - МатриціGeeksforgeeks

R – Матриці

Створення матриці в R

Щоб створити матрицю в R, потрібно використати функцію, що називається матриця() .

Аргументи цього матриця() є набором елементів у векторі. Ви повинні передати, скільки рядків і скільки стовпців ви хочете мати у своїй матриці.



Примітка: За замовчуванням матриці розташовані в порядку стовпців.

Синтаксис для створення R-матриці

матриця (дані, nrow, ncol, byrow, dimnames)

Параметри:



  • дані – значення, які потрібно ввести
  • вузький – немає. рядів
  • ncol – немає. колонок
  • byrow – логічна підказка, якщо значення «true» буде присвоєно рядкам
  • dimnames – назви рядків і стовпців

приклад:

java mvc

Р




# R program to create a matrix> > A =>matrix>(> > ># Taking sequence of elements> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> > ># No of rows> >nrow = 3,> > ># No of columns> >ncol = 3,> > ># By default matrices are in column-wise order> ># So this parameter decides how to arrange the matrix> >byrow =>TRUE> )> > # Naming rows> rownames>(A) =>c>(>'a'>,>'b'>,>'c'>)> > # Naming columns> colnames>(A) =>c>(>'c'>,>'d'>,>'e'>)> > cat>(>'The 3x3 matrix: '>)> print>(A)>

>

>

Вихід

The 3x3 matrix: c d e a 1 2 3 b 4 5 6 c 7 8 9>

Створення спеціальних матриць у R

R дозволяє створювати різні типи матриць за допомогою аргументів, переданих у функцію matrix().

1. Матриця, де всі рядки та стовпці заповнені однією константою «k»:

Для створення такої матриці R наведено синтаксис:

Синтаксис: матриця (k, m, n)

Параметри:
k: константа
м: кількість рядків
n: кількість стовпців

приклад:

Р




# R program to illustrate> # special matrices> # Matrix having 3 rows and 3 columns> # filled by a single constant 5> print>(>matrix>(5, 3, 3))>

>

>

Вихід

 [,1] [,2] [,3] [1,] 5 5 5 [2,] 5 5 5 [3,] 5 5 5>

2. Діагональна матриця:

Діагональна матриця — це матриця, у якій усі елементи за межами головної діагоналі дорівнюють нулю. Для створення такої матриці R наведено синтаксис:

Синтаксис: diag(k, m, n)
Параметри:
k: константи/масив
м: кількість рядків
n: кількість стовпців

приклад:

Р




# R program to illustrate> # special matrices> # Diagonal matrix having 3 rows and 3 columns> # filled by array of elements (5, 3, 3)> print>(>diag>(>c>(5, 3, 3), 3, 3))>

>

>

java int для подвоєння
Вихід

 [,1] [,2] [,3] [1,] 5 0 0 [2,] 0 3 0 [3,] 0 0 3>

3. Матриця ідентичності:

Одинична матриця, в якій усі елементи головної діагоналі є одиницями, а всі інші елементи — нулями. Для створення такої матриці R наведено синтаксис:

Синтаксис: diag(k, m, n)
Параметри:
k: 1
м: кількість рядків
n: кількість колонок

приклад:

Р




# R program to illustrate> # special matrices> # Identity matrix having> # 3 rows and 3 columns> print>(>diag>(1, 3, 3))>

>

>

Вихід

 [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1>

4. Матричні метрики

Показники матриці розповідають про створену вами матрицю. Ви можете знати кількість рядків, кількість стовпців, розміри матриці.

Наведений нижче приклад допоможе вам відповісти на такі запитання:

  • Як можна дізнатися розмірність матриці?
  • Як дізнатися, скільки рядків у матриці?
  • Скільки стовпців у матриці?
  • Скільки всього елементів у матриці?

приклад:

Р




# R program to illustrate> # matrix metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> cat>(>'Dimension of the matrix: '>)> print>(>dim>(A))> cat>(>'Number of rows: '>)> print>(>nrow>(A))> cat>(>'Number of columns: '>)> print>(>ncol>(A))> cat>(>'Number of elements: '>)> print>(>length>(A))> # OR> print>(>prod>(>dim>(A)))>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 Dimension of the matrix: [1] 3 3 Number of rows: [1] 3 Number of columns: [1] 3 Number of elements: [1] ...>

Доступ до елементів R-матриці

Ми можемо отримати доступ до елементів у матрицях R, використовуючи ту саму конвенцію, що дотримується у кадрах даних. Отже, у вас буде матриця, а за нею квадратна дужка з комою між масивом.

Значення перед комою використовується для доступу до рядків, а значення після коми – для доступу до стовпців. Давайте проілюструємо це, взявши простий код R.

Доступ до рядків:

Р




# R program to illustrate> # access rows in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Accessing first and second row> cat>(>'Accessing first and second row '>)> print>(A[1:2, ])>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 Accessing first and second row [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6>

Доступ до стовпців:

Р




# R program to illustrate> # access columns in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Accessing first and second column> cat>(>'Accessing first and second column '>)> print>(A[, 1:2])>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 Accessing first and second column [,1] [,2] [1,] 1 2 [2,] 4 5 [3,] 7 8>

Більше прикладів доступу до елементів R-матриці:

Р




# R program to illustrate> # access an entry in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Accessing 2> print>(A[1, 2])> # Accessing 6> print>(A[2, 3])>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [1] 2 [1] 6>

Доступ до підматриць у R:

Ми можемо отримати доступ до підматриці в матриці за допомогою двокрапка(:) оператор.

Р




як видалити перший символ в excel
# R program to illustrate> # access submatrices in a matrix> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> cat>(>'Accessing the first three rows and the first two columns '>)> print>(A[1:3, 1:2])>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 Accessing the first three rows and the first two columns [,1] [,2] [1,] 1 2 [2,] 4 5 [3...>

Модифікація елементів R-матриці

У R ви можете модифікувати елементи матриць шляхом прямого призначення.

приклад:

Р




# R program to illustrate> # editing elements in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Editing the 3rd rows and 3rd column element> # from 9 to 30> # by direct assignments> A[3, 3] = 30> cat>(>'After edited the matrix '>)> print>(A)>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 After edited the matrix [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 30>

Конкатенація R-матриці

Конкатенація матриць стосується об’єднання рядків або стовпців існуючої R-матриці.

Конкатенація рядка:

Конкатенація рядка в матрицю виконується за допомогою rbind() .

Р




# R program to illustrate> # concatenation of a row in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Creating another 1x3 matrix> B =>matrix>(> >c>(10, 11, 12),> >nrow = 1,> >ncol = 3> )> cat>(>'The 1x3 matrix: '>)> print>(B)> # Add a new row using rbind()> C =>rbind>(A, B)> cat>(>'After concatenation of a row: '>)> print>(C)>

>

>

Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 The 1x3 matrix: [,1] [,2] [,3] [1,] 10 11 12 After concatenation of a row: [,1] [,2] [,3...>

Конкатенація стовпця:

Об’єднання стовпця в матрицю виконується за допомогою cbind() .

Р




# R program to illustrate> # concatenation of a column in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Creating another 3x1 matrix> B =>matrix>(> >c>(10, 11, 12),> >nrow = 3,> >ncol = 1,> >byrow =>TRUE> )> cat>(>'The 3x1 matrix: '>)> print>(B)> # Add a new column using cbind()> C =>cbind>(A, B)> cat>(>'After concatenation of a column: '>)> print>(C)>

>

>

алфавіт чисел
Вихід

The 3x3 matrix: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 The 3x1 matrix: [,1] [1,] 10 [2,] 11 [3,] 12 After concatenation of a column: [,1] [,2] ...>

Невідповідність розмірів: Зауважте, що ви повинні переконатися в узгодженості розмірів між матрицею, перш ніж виконувати цю конкатенацію матриці.

Р




# R program to illustrate> # Dimension inconsistency in metrics concatenation> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'The 3x3 matrix: '>)> print>(A)> # Creating another 1x3 matrix> B =>matrix>(> >c>(10, 11, 12),> >nrow = 1,> >ncol = 3,> )> cat>(>'The 1x3 matrix: '>)> print>(B)> # This will give an error> # because of dimension inconsistency> C =>cbind>(A, B)> cat>(>'After concatenation of a column: '>)> print>(C)>

>

>

Вихід:

The 3x3 matrix:  [, 1] [, 2] [, 3] [1, ] 1 2 3 [2, ] 4 5 6 [3, ] 7 8 9 The 1x3 matrix:  [, 1] [, 2] [, 3] [1, ] 10 11 12 Error in cbind(A, B) : number of rows of matrices must match (see arg 2)>

Додавання рядків і стовпців у R-матриці

Щоб додати рядок у R-матрицю, ви можете використовувати rbind() і додати стовпець до R-матриці, яку ви можете використовувати cbind () функція.

Додавання рядка

Нижче наведено приклад того, як додати рядок до R-матриці?

приклад:

Р




# Create a 3x3 matrix> number <->matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'Before inserting a new row: '>)> print>(number)> # New row to be inserted> new_row <->c>(10, 11, 12)># Define the new row> # Inserting the new row at the second position> A <->rbind>(number[1, ], new_row, number[-1, ])> cat>(>' After inserting a new row: '>)> print>(number)>

>

>

Вихід

Before inserting a new row: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 After inserting a new row: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,]...>

Додавання стовпця

Давайте розглянемо наведений нижче приклад того, як додати стовпець у R-матрицю?

Р




# Create a 3x3 matrix> number <->matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'Before adding a new column: '>)> print>(number)> # New column to be added> new_column <->c>(10, 11, 12)># Define the new column> # Adding the new column at the end> number <->cbind>(number, new_column)> cat>(>' After adding a new column: '>)> print>(number)>

>

>

Вихід

Before adding a new column: [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 After adding a new column: new_column [1,] 1 2 3 10 [2,] 4 5 6 1...>

Видалення рядків і стовпців R-матриці

Щоб видалити рядок або стовпець, перш за все, вам потрібно отримати доступ до цього рядка або стовпця, а потім вставити мінус перед цим рядком або стовпцем. Це означає, що вам потрібно було видалити цей рядок або стовпець.

Видалення рядка:

Р




вибрати sql з кількох таблиць

# R program to illustrate> # row deletion in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'Before deleting the 2nd row '>)> print>(A)> # 2nd-row deletion> A = A[-2, ]> cat>(>'After deleted the 2nd row '>)> print>(A)>

>

>

Вихід

Before deleting the 2nd row [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 After deleted the 2nd row [,1] [,2] [,3] [1,] 1 2 3 [2,] 7 8 9>

Видалення стовпця:

Р




# R program to illustrate> # column deletion in metrics> # Create a 3x3 matrix> A =>matrix>(> >c>(1, 2, 3, 4, 5, 6, 7, 8, 9),> >nrow = 3,> >ncol = 3,> >byrow =>TRUE> )> cat>(>'Before deleting the 2nd column '>)> print>(A)> # 2nd-row deletion> A = A[, -2]> cat>(>'After deleted the 2nd column '>)> print>(A)>

>

>

Вихід

Before deleting the 2nd column [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 After deleted the 2nd column [,1] [,2] [1,] 1 3 [2,] 4 6 [3,] 7 9>

Ми обговорювали R-матриці та їхні основні операції, такі як додавання нових рядків і стовпців, видалення рядків і стовпців, об’єднання матриць тощо.

Сподіваюся, це допомогло вам зрозуміти матриці в R, і тепер ви можете зручно використовувати R-матриці у своїх проектах.

Також перевірте: