###### Chapitre I : Vecteurs et Matrices

publicité
Le logiciel R est un logiciel libre de statistique qu’on peut télécharger et installer facilement.
Lancer le logiciel R en cliquant sur le bureau l’icône IR
Saisir les commandes du chapitre I sur la ligne de commande où s’affiche souvent le signe >
Les lignes commençant par # sont des commentaires, on peut ne pas les saisir
En cas d’erreur appuyer la touche Esc
Une ligne déjà saisie peut se retrouver en appuyant la touche flèche haut, plusieurs fois.
###### Chapitre I : Vecteurs et Matrices
## Nombres réels : dimension 1
#On crée une variable x (case-mémoire dans la RAM), elle va contenir 5 :
x=5
#On affiche la valeur de x
x
# On enlève 3 à la valeur précédente 5 de x ce qui fait 2, la nouvelle valeur de x vaut 2 :
x = x –3
x
#On crée une variable y (une autre case-mémoire dans la RAM), elle va contenir -2 :
y = -2
#Afficher le résultat du produit de y par x
y*x
#Afficher la somme de y et de 2x :
y + 2*x
#Afficher le quotient de x par y au carré plus un :
x /(y^2 +1)
#Nouvelles valeurs
x = 14
y=3
# Afficher l’entier qui précède le quotient de x par y
floor(x/y)
# Afficher le reste de la division de x par y
x%%y
## Couples de nombres réels : dimension 2, les vecteurs sont en colonne par défaut
n=2
v1 = c(5,-1)
v1
v2 = c(-6,4)
v2
v1 + v2
# transposé
t(v1)
#combinaison linéaire
2*v1
2*v1 - 5*v2
#produit coordonnées par coordonnées
v1*v2
# produit scalaire
v1%*%v2
#refaire plusieurs exemples en changeant de vecteurs v1 et v2. Rapport entre la
#représentation graphique des vecteurs dans un plan avec une base orthonormée et le signe du
#produit scalaire ?
#somme, moyenne, max, min
sum(v1)
mean(v1)
max(v1)
min(v1)
# vecteur centré
m = mean(v1)
v1 - m
mean(v1 - m)
# variance d’un vecteur
(v1 - m)^2
sum((v1 - m)^2)/(n-1)
var(v1)
#ecart-type
sqrt(sum((v1-m)^2)/(n-1))
sd(v1)
# vecteur reduit
v = v1/sd(v1)
sd(v)
# vecteur centré réduit
w = (v1 -mean(v1))/sd(v1)
w
mean(w)
sd(w)
##dimension 3
n=3
v1 = c(6,4,8)
v2 = c(-4,3,2)
3*v1 - 4*v2
v1%*%v2
t(v1)
#somme, moyenne
sum(v1)
mean(v1)
# vecteur centré
m = mean(v1)
v1 - m
mean(v1 - m)
# variance d’un vecteur
(v1 - m)^2
sum((v1 - m)^2)/(n-1)
var(v1)
#ecart-type
sqrt(sum((v1-m)^2)/(n-1))
sd(v1)
# vecteur reduit
v = v1/sd(v1)
sd(v)
# vecteur centré réduit
w = (v1 -mean(v1))/sd(v1)
w
mean(w)
sd(w)
# covariance de deux vexteurs : produit scalaire des vecteurs centrés/(dim -1)
cov(v1,v2)
n=3
(v1 -mean(v1))%*%(v2 - mean(v2))/(n-1)
#correlation : produit scalaire des vecteurs centrés/(dim -1)
cor(v1,v2)
((v1 -mean(v1))/sd(v1))%*%((v2 - mean(v2))/sd(v2))/(n-1)
### MATRICES
M = matrix(c(-2,5,6,4,1,7),3,2)
M
#Elements
M[1,2]
M[3,1]
M[3,2]
M[2,]
M[3,]
M[,2]
#Produit par un scalaire
3*M
#Image d'un vecteur (vecteur image)
M
v = c(5,1)
v
M[1,]%*%v
M[2,]%*%v
M[3,]%*%v
M%*%v
#Matrice transposée
t(M)
w = c(4,2,1)
t(M)%*%w
#Combinaison linéaire de deux matrices
N = matrix(c(-1,3,5,2,-6,5),3,2)
N
M
M+N
2*M -3*N
#Produit de deux matrices : le nombre de colonnes de la premiere
# doit être égal au nombre de lignes de la deuxième
#On fait le produit scalaire de chaque ligne de la premiere
#par chaque colonne de la deuxième
M
Q = matrix(c(-5,7,4,1,9,6,-2,3),2,4)
Q
M%*%Q
M[1,]%*%Q[,1]
M[1,]%*%Q[,2]
M[1,]%*%Q[,3]
M[1,]%*%Q[,4]
M[2,]%*%Q[,3]
M[3,]%*%Q[,4]
#Moyennes
Q
mean(Q)
rowMeans(Q)
apply(Q,1,mean)
colMeans(Q)
apply(Q,2,mean)
m = colMeans(Q)
m
l = nrow(Q)
l
replicate(l,m)
Me =t(replicate(l,m))
#Centrer
Q – Me
colMeans(Q-Me)
# Centrer Réduire
s= apply(Q,2,sd)
replicate(l,s)
Sd =t(replicate(l,s))
Sd
apply((Q-Me)/Sd,2,mean)
apply((Q-Me)/Sd,2,sd)
P = matrix(c(-8,4,5,6,-3,9,-1,2,4,3,1,7,5,8,-3),5,3)
P
#Matrice carrée symétrique de covariance des vecteurs colonnes d’une matrice
cov(P)
#Matrice carrée symétrique de corrélation des vecteurs colonnes d’une matrice
cor(P)
#Matrice carrée
A = matrix(c(7,3,0,5),2,2)
A
#vecteur propre, valeur propre
v = c(2,3)
A%*%v
7*v
#On voit que Av = 7v, on dit que v est un vecteur propre associé à la valeur propre 7
w = c(0,1)
A%*%w
5*w
# Que conclure ?
#toutes les valeurs propres et les vecteurs propres
eigen(A)
#toutes les valeurs propres
eigen(A)$values
#La première valeur propre
eigen(A)$values[1]
#La deuxième valeur propre
eigen(A)$values[2]
#vecteurs propres associes
eigen(A)$vectors
#Matrice carrée symétrique
S = matrix(c(4,7,3,7,8,9,3,9,5),3,3)
#Est ce que S est symétrique par rapport à sa diagonale princpale ? (égale à sa transposée ?)
S = = t(S)
diag(S)
eigen(cor(P))
Fichier script : Toutes les commandes peuvent être enregistrées dans un tel fichier, on peut
alors les exécuter plusieurs fois sans avoir à les retaper. Pour cela :
Cliquer sur le menu Fichier Nouveau script
Copier/coller toutes les instructions ci-dessus dans la fenêtre Editeur R
Cliquer Fichier Enregistrer en créant un fichier script d’extension .R, disons chap01.R
Positionner le curseur sur une ligne de l’éditeur et l’exécuter en faisant Ctrl R
Téléchargement