Comment utiliser les opérations standard dans une matrice en r

Probablement la caractéristique la plus forte de R est sa capacité à traiter les opérations matricielles complexes de manière simple et optimisé. Parce que beaucoup de statistiques se résume à des opérations de matrice, il est naturel que R aime à croquer ces chiffres.

Quand on parle des opérations sur des matrices, vous pouvez traiter soit les éléments de la matrice ou toute la matrice de la valeur que vous opérez. Cette différence est assez clair quand on compare, par exemple, la transposition d'une matrice et l'ajout d'un numéro unique (ou scalaire) À une matrice.

Lors de la transposition, vous travaillez avec l'ensemble de la matrice. Lors de l'ajout d'un scalaire à une matrice, vous ajoutez que scalaire à chaque élément de la matrice.

Vous ajoutez un scalaire à une matrice en utilisant simplement l'opérateur d'addition, +, comme ça:

> First.matrix + 4 [1] [2] [3] [4] [1], 5 8 11 14 [2], 6 9 12 15 [3], 7 10 13 16

Vous pouvez utiliser tous les autres opérateurs arithmétiques exactement de la même façon à effectuer une opération sur tous les éléments d'une matrice.




La différence entre les opérations sur des matrices et des éléments devient moins évident si vous parlez de l'ajout de matrices ensemble. En fait, l'addition de deux matrices est l'addition des éléments répondants. Donc, vous devez vous assurer que les deux matrices ont les mêmes dimensions.

Voyons un autre exemple: dire que vous voulez ajouter 1 à la première rangée, 2 à la deuxième rangée, et 3 à la troisième rangée de la matrice first.matrix. Vous pouvez le faire en construisant une matrice second.matrix qui comporte quatre colonnes et trois lignes et qui a 1, 2, et 3 en tant que valeurs dans les premier, deuxième et troisième lignes, respectivement.

La commande suivante fait en utilisant le recyclage du premier argument par la fonction de matrice:

> Second.matrix lt; - matrice (1: 3, nrow = 3, ncol = 4)

Avec l'opérateur d'addition, vous pouvez ajouter deux matrices ensemble, comme ceci:

> First.matrix + second.matrix [1] [2] [3] [4] [1], 2 5 8 11 [2], 4 7 10 13 [3], 6 9 12 15

Ceci est la solution à votre professeur de mathématiques approuverait si elle vous a demandé de faire l'ajout de la matrice de la première et la deuxième matrice. Et même plus, si les dimensions des deux matrices sont pas les mêmes, R va se plaindre et de refuser de procéder à l'opération, comme le montre l'exemple suivant:

> First.matrix + second.matrix [, 1: 3] Erreur de first.matrix + second.matrix [, 1: 3]: tableaux non-concordantes

Mais qu'arriverait-il si, au lieu d'ajouter une matrice, vous avez ajouté un vecteur? Jetez un oeil à l'issue du code ci-dessous:

> First.matrix + 1: 3 [1] [2] [3] [4] [1], 2 5 8 11 [2], 4 7 10 13 [3], 6 9 12 15

Non seulement ne se plaignait pas R sur les dimensions, mais il recycle le vecteur sur les valeurs des matrices. En fait, la matrice R traite comme un vecteur dans ce cas simplement en ignorant les dimensions. Donc, dans ce cas, vous ne l'utilisez plus de la matrice, mais simple (vectorisé) plus.

Par défaut, R remplit matrices en colonne. Chaque fois que R lit une matrice, il lit aussi en colonne. Ceci a des implications importantes pour le travail avec des matrices. Si vous ne restez pas au courant de cela, R peut vous mordre à la jambe méchamment.


» » » » Comment utiliser les opérations standard dans une matrice en r