R – Matrici

R – Matrici

Matricea R este o aranjare bidimensională a datelor în rânduri și coloane.

Într-o matrice, rândurile sunt cele care rulează orizontal și coloanele sunt cele care rulează vertical. În programare R , matricele sunt structuri de date bidimensionale, omogene. Acestea sunt câteva exemple de matrice:

R - MatricesGeeksforgeeks

R – Matrici

Crearea unei matrice în R

Pentru a crea o matrice în R trebuie să utilizați funcția numită matrice() .

Argumentele în acest sens matrice() sunt mulţimea elementelor din vector. Trebuie să treceți câte numere de rânduri și câte numere de coloane doriți să aveți în matricea dvs.

Notă: În mod implicit, matricele sunt în ordinea coloanelor.

Sintaxă pentru a crea R-Matrix

matrice (date, nrow, ncol, byrow, dimnames)

Parametri:

  • date - valorile pe care doriți să le introduceți
  • în continuare – Nu. de rânduri
  • ncol – Nu. de coloane
  • cadru – indiciu logic, dacă valoarea „adevărată” va fi atribuită pe rânduri
  • dimnames - nume de rânduri și coloane

Exemplu:

R




# 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)>

Ieșire

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

Crearea de matrici speciale în R

R permite crearea de diferite tipuri de matrice cu utilizarea argumentelor transmise funcției matrice().

1. Matrice în care toate rândurile și coloanele sunt umplute cu o singură constantă „k”:

Pentru a crea o astfel de matrice R, sintaxa este dată mai jos:

Sintaxă: matrice (k, m, n)

Parametri:
k: constanta
m: nr de rânduri
n: nr de coloane

Exemplu:

R




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

Ieșire

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

2. Matricea diagonală:

O matrice diagonală este o matrice în care intrările din afara diagonalei principale sunt toate zero. Pentru a crea o astfel de matrice R, sintaxa este dată mai jos:

Sintaxă: diag(k, m, n)
Parametri:
k: constantele/matricea
m: nr de rânduri
n: nr de coloane

Exemplu:

R




# 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))>

Ieșire

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

3. Matrice de identitate:

O matrice de identitate în care toate elementele diagonalei principale sunt unu și toate celelalte elemente sunt zerouri. Pentru a crea o astfel de matrice R, sintaxa este dată mai jos:

Sintaxă: diag(k, m, n)
Parametri:
k: 1
m: nr de rânduri
n: nr de coloane

Exemplu:

R




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

Ieșire

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

4. Metrici Matrice

Valorile Matrix vă spun despre Matrix pe care ați creat-o. Poate doriți să aflați numărul de rânduri, numărul de coloane, dimensiunile unei matrice.

Exemplul de mai jos vă va ajuta să răspundeți la următoarele întrebări:

  • Cum poți cunoaște dimensiunea matricei?
  • Cum poți ști câte rânduri sunt în matrice?
  • Câte coloane sunt în matrice?
  • Câte elemente sunt în matrice?

Exemplu:

R




# 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)))>

Ieșire

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] ... 

Accesarea elementelor unei matrice R

Putem accesa elemente din matricele R folosind aceeași convenție care este urmată în cadrele de date. Deci, veți avea o matrice și urmată de o paranteză pătrată cu o virgulă între matrice.

Valoarea înainte de virgulă este folosită pentru a accesa rânduri și valoarea care este după virgulă este folosită pentru a accesa coloane. Să ilustrăm acest lucru luând un cod R simplu.

Accesarea rândurilor:

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, ])>

Ieșire

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 

Accesarea coloanelor:

R




# 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])>

Ieșire

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 

Mai multe exemple de accesare a elementelor unei matrice R:

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])>

Ieșire

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

Accesarea submatricelor în R:

Putem accesa submatricea într-o matrice folosind colon(:) operator.

R




# 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])>

Ieșire

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... 

Modificarea elementelor unei matrice R

În R puteți modifica elementele matricelor printr-o atribuire directă.

Exemplu:

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)>

Ieșire

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 

Concatenarea matricei R

Concatenarea matricei se referă la îmbinarea rândurilor sau coloanelor dintr-o matrice R existentă.

Concatenarea unui rând:

Concatenarea unui rând la o matrice se face folosind rbind() .

R




# 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)>

Ieșire

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... 

Concatenarea unei coloane:

Concatenarea unei coloane la o matrice se face folosind cbind() .

R




# 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)>

Ieșire

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] ... 

Incoerență de dimensiune: Rețineți că trebuie să vă asigurați de consistența dimensiunilor dintre matrice înainte de a face această concatenare a matricei.

R




# 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)>

Ieșire:

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) 

Adăugarea de rânduri și coloane într-o matrice R

Pentru a adăuga un rând în R-matrix, puteți utiliza rbind() funcția și pentru a adăuga o coloană la R-matrix pe care o puteți utiliza cbind () funcția.

Adăugarea unui rând

Să vedem mai jos un exemplu despre cum să adăugați un rând în matricea R?

Exemplu:

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)>

Ieșire

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,]... 

Adăugarea unei coloane

Să vedem mai jos un exemplu despre cum să adăugați o coloană în R-matrix?

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)>

Ieșire

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... 

Ștergerea rândurilor și coloanelor unei matrice R

Pentru a șterge un rând sau o coloană, în primul rând, trebuie să accesați acel rând sau coloană și apoi să introduceți un semn negativ înaintea acelui rând sau coloană. Indică faptul că a trebuit să ștergeți acel rând sau coloana.

Ștergerea rândurilor:

R




# 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)>

Ieșire

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 

Ștergerea coloanei:

R




# 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)>

Ieșire

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 

Am discutat despre matricele R și despre operațiile lor de bază, cum ar fi adăugarea de noi rânduri și coloane, ștergerea rândurilor și coloanelor, îmbinarea matricelor etc.

Sper că acest lucru v-a ajutat să înțelegeți matricele în R și acum puteți utiliza confortabil matricele R în proiectele dvs.

Verificați și: