logo

R – Matrius

matriu R és una disposició bidimensional de dades en files i columnes.

En una matriu, les files són les que van horitzontalment i les columnes són les que van verticalment. En Programació R , les matrius són estructures de dades bidimensionals i homogènies. Aquests són alguns exemples de matrius:



R - MatriusGeeksforgeeks

R – Matrius

Creació d'una matriu en R

Per crear una matriu en R cal utilitzar la funció anomenada matriu () .

Els arguments d'això matriu () són el conjunt d'elements del vector. Heu de passar quants nombres de files i quants nombres de columnes voleu tenir a la vostra matriu.



Nota: Per defecte, les matrius estan en ordre per columnes.

Sintaxi per crear R-Matrix

matriu (dades, nrow, ncol, byrow, dimnames)

Paràmetres:



  • dades - valors que voleu introduir
  • Nrow - no. de files
  • ncol - no. de columnes
  • byrow - pista lògica, si el valor 'true' s'assignarà per files
  • dimnames – noms de files i columnes

Exemple:

tutorial de microserveis

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

>

>

Sortida

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

Creació de matrius especials a R

R permet la creació de diferents tipus de matrius amb l'ús d'arguments passats a la funció matrix().

1. Matriu on totes les files i columnes s'omplen amb una única constant 'k':

Per crear aquesta matriu R, la sintaxi es mostra a continuació:

Sintaxi: matriu (k, m, n)

Paràmetres:
k: la constant
m: no de files
n: no de columnes

Exemple:

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

>

>

Sortida

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

2. Matriu diagonal:

Una matriu diagonal és una matriu en la qual les entrades fora de la diagonal principal són totes zero. Per crear aquesta matriu R, la sintaxi es mostra a continuació:

Sintaxi: diag(k, m, n)
Paràmetres:
k: les constants/matriu
m: no de files
n: no de columnes

Exemple:

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

>

>

Sortida

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

3. Matriu d'identitat:

Una matriu d'identitat en la qual tots els elements de la diagonal principal són uns i tots els altres elements són zeros. Per crear aquesta matriu R, la sintaxi es mostra a continuació:

Sintaxi: diag(k, m, n)
Paràmetres:
k: 1
m: no de files
n: no de columnes

Exemple:

R




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

>

>

Sortida

unitat aritmètica lògica
 [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1>

4. Mètriques de matriu

Les mètriques de la matriu us informen sobre la matriu que heu creat. És possible que vulgueu saber el nombre de files, nombre de columnes, dimensions d'una matriu.

L'exemple següent us ajudarà a respondre les preguntes següents:

  • Com es pot saber la dimensió de la matriu?
  • Com pots saber quantes files hi ha a la matriu?
  • Quantes columnes hi ha a la matriu?
  • Quants elements hi ha a la matriu?

Exemple:

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

>

>

Sortida

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

Accés a elements d'una matriu R

Podem accedir als elements de les matrius R utilitzant la mateixa convenció que se segueix en els marcs de dades. Per tant, tindreu una matriu i seguida d'un claudàtor amb una coma entre la matriu.

El valor abans de la coma s'utilitza per accedir a les files i el valor que està després de la coma s'utilitza per accedir a les columnes. Il·lustrem-ho prenent un codi R senzill.

Accés a les files:

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

>

>

Sortida

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>

Accés a columnes:

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

>

>

Sortida

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>

Més exemple d'accés als elements d'una matriu 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])>

>

>

Sortida

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

Accés a submatrius en R:

Podem accedir a la submatriu en una matriu mitjançant el dos punts(:) operador.

R




canviar el nom d'un directori linux
# 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])>

>

>

Sortida

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

Modificació d'elements d'una matriu R

A R podeu modificar els elements de les matrius mitjançant una assignació directa.

Exemple:

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

>

>

Sortida

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>

Concatenació de matrius R

La concatenació de matrius es refereix a la fusió de files o columnes d'una matriu R existent.

Concatenació d'una fila:

La concatenació d'una fila a una matriu es fa utilitzant 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)>

cadena java a enter
>

>

Sortida

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

Concatenació d'una columna:

La concatenació d'una columna a una matriu es fa mitjançant 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)>

>

>

Sortida

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

Incoherència de dimensions: Tingueu en compte que heu d'assegurar-vos de la coherència de les dimensions entre la matriu abans de fer aquesta concatenació de matrius.

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

>

>

Sortida:

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

Afegir files i columnes en una matriu R

Per afegir una fila a la matriu R, podeu utilitzar rbind() funció i per afegir una columna a la matriu R que podeu utilitzar cbind () funció.

Afegint fila

Vegem l'exemple següent sobre com afegir una fila a la matriu R?

Exemple:

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

>

>

Sortida

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

Afegint una columna

Vegem l'exemple següent sobre com afegir una columna a la matriu R?

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

>

>

Sortida

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

Eliminació de files i columnes d'una matriu R

Per suprimir una fila o una columna, primer cal accedir a aquesta fila o columna i després inserir un signe negatiu abans d'aquesta fila o columna. Indica que vau haver de suprimir aquesta fila o columna.

Supressió de fila:

R




java llegir fitxer csv

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

>

>

Sortida

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>

Supressió de la columna:

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

>

>

Sortida

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>

Hem parlat sobre les matrius R i les seves operacions bàsiques com afegir noves files i columnes, suprimir files i columnes, fusionar matrius, etc.

Espero que això us hagi ajudat a entendre les matrius a R i ara podeu utilitzar còmodament les matrius R als vostres projectes.

Comproveu també: