2  Les matrices

Les matrices sont comme en mathématiques des tableaux de données. Attention comme pour les vecteurs les matrices ne contiendront que des éléments du même type (numérique, texte, booléen).

2.1 Définition et fonctions de base

A=matrix(c(1,2,3,
           2,1,-1,
           -3,-1,1),nrow=3)

Quelques fonctions utiles la dimension de la matrice

dim(A)
[1] 3 3

Le résultat est donc un vecteur ayant deux éléments le nombre de ligne et le nombre de colonnes

2.2 Indexation des éléments d’une matrice

Les éléments d’une matrice sont identifiés par un numéro de ligne et de colonne entre crochets A[i,j]

A[1,2]
[1] 2
# première ligne de A 
A[1,]
[1]  1  2 -3
# première colonne de A
A[,1]
[1] 1 2 3

2.3 Exercice :

  1. Générer un vecteur fillmat contenant 250 valeurs tirées selon une loi uniforme continue de paramètres 0 et 10 grâce à la fonction runif.
Voir la correction
fillmat<-runif(250,0,10)
  1. Créer une matrice Mesures de 50 lignes et 5 colonnes contenantes les valeurs de fillmat. Les colonnes seront nommées Mesure1,…, Mesure5.
Voir la correction
Mesures<-matrix(fillmat,nrow=50)
colnames(Mesures)<-paste("Mesure",1:5,sep="")
  1. Créer un vecteur Groupe de taille 50 contenant des valeurs entières entre 1 et 5 (fonction sample). On interprétera Groupe comme le groupe d’appartenance des 50 lignes de Mesures. Ajouter cette colonne à la matrice Mesures.
Voir la correction
Groupe<-sample(1:5,50,replace=T)
  1. Combien de lignes appartiennent au groupe n°2 ?
Voir la correction
sum(Groupe==2)
[1] 6
  1. Afficher le numéro des lignes appartenant au groupe n°2.
Voir la correction
which(Groupe==2)
[1]  4 13 25 26 27 43
  1. Afficher les lignes de Mesures correspondant au groupe n°2.
Voir la correction
Mesures[Groupe==2,]
      Mesure1  Mesure2  Mesure3   Mesure4  Mesure5
[1,] 8.397356 7.956640 2.989363 2.1727732 3.634908
[2,] 5.041255 1.386101 3.560883 7.2442525 3.181113
[3,] 3.376853 6.980315 9.390400 2.8520368 3.150224
[4,] 9.848660 9.981776 4.290314 6.7352734 9.533691
[5,] 7.068545 7.605487 4.667439 0.6695342 4.259496
[6,] 5.159697 5.803267 6.349930 6.2747822 4.470055
  1. Déterminer combien Mesures contient de valeurs inférieures à 5 (on exclura la colonne groupe du comptage).
Voir la correction
sum(Mesures[,-6]<5)
[1] 135
  1. Calculer la moyenne des valeurs de Mesures correspondant au groupe n°4.
Voir la correction
mean(Mesures[Groupe==4,])
[1] 4.452221
  1. Même question mais pour les 3 premières colonnes uniquement.
Voir la correction
mean(Mesures[Groupe==4,1:3])
[1] 4.058999
  1. Appliquer à Mesures les fonctions dim, ncol et nrow. A quoi correspondent ces nombres ?