– Matrices,listes,
– séries temporelles
Génération de matrices
matrix()
•
• Ce sont des vecteurs qui possèdent un argument
supplémentaire, qui est lui-même un vecteur de
longueur 2, sa dimension, et qui définit le nombre
de lignes et de colonnes
• M=matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,)
• exemple:M=matrix(5:16,3,4,byrow=TRUE)
• Sélection dans une matrice,sous-matrices
• M[1,2],M[c(2,3),c(3,4)]
• M[i,],M[,j]: sélection d’une ligne ou d’une
colonne, on obtient un vecteur
• M[c(1,5,4),]: sélection de plusieurs lignes
(1,5 et 4), on obtient une nouvelle matrice
•
• Dimension d’une matrice: dim(): renvoie la
dimension de la matrice. On peut aussi imposer
cette dimension
•
•
Sélection dans une matrice
• exemple: v=1:12; M=matrix(v);dim(M)=c(3,4);M;
• [,1] [,2] [,3] [,4]
• [1,] 1 4 7 10
• [2,] 2 5 8 11
• [3,] 3 6 9 12
• Indice linéaire (par colonne) M[v],M[-v]
exemple:M[-3] donne la matrice privée de son
troisième élément, soit le vecteur...
•
• M[M[,1]>0,]:sélectionne la sous matrice pour
laquelle les valeurs dans la première colonne
sont positives, soit...
•
•
Opérations sur les matrices
• Les opérateurs habituels fonctionnent élément par
élément
• Le produit matriciel algébrique:%*%
• t():transposition
• diag(): si v est un vecteur, diag(v)crée une
matrice diagonale ayant v sur la diagonale
• si M est une matrice, diag(M) extrait la
diagonale de M
• sum():si v est un vecteur ou une matrice, sum(v)
calcule la somme de tous les éléments de v
• sum(v,na.rm=TRUE):somme sans tenir compte des NA
• det(): déterminant d ’une matrice carrée
• solve():inverse d ’une matrice , ou résolution d ’un système d ’équations linéaire
• eigen(): calcul des valeurs propres et vecteurs propres
Opérations sur les matrices
(suite)
Opérations sur les matrices:
la fonction apply()
• apply(M,margin,fun,…):applique à M la fonction fun
(ou un opérateur, mais qui doit alors être mis
entre guillemets),margin indique si l’action doit
être appliquée sur les lignes ( margin=1), les
colonnes ( margin=2)
•
• exemples:
• apply(M,1,sum):le résultat est une colonne formée des
sommes des lignes de la matrice
•
• apply(M,2,sum):pareil pour les colonnes
•
•
• Création de listes: avec la fonction list()
• Il n’y a aucune contrainte sur les objets qui y
sont inclus
• Exemple: x=1:10;y= letters ;
• L=list(x,y); crée une liste sans nom
• L=list(chiffres=0:9,lettres=letters);L
• $chiffres
• [1] 0 1 2 3 4 5 6 7 8 9
• $lettres
• [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r"
"s" "t" "u" "v" "w" "x" "y" "z"
• Les deux champs sont accessibles par L$chiffres;
L$lettres;
• On trouve souvent des listes comme résultat d'une commande R
• exemple:lm() est une fonction retournant pour un modèle linéaire une liste contenant au moins:
coefficients, résidus,valeurs
estimées,rangs, poids....
• La fonction ts() va créer une série
temporelle à partir d’un vecteur (ou
d’une matrice), et des options suivantes
• ts(data=,start=,end=,frequency=…)
•
• data:un vecteur ou une matrice
• start: le temps de la première
observation
• end:le temps de la dernière observation
• frequency: le nombre d’observations par
unité de temps
•
•
•
• t=ts(matrix(rpois(36,5),12,3),start=c(1961,1),
• frequency=12)
•
•
• Series 1 Series 2 Series 3
• Jan 1961 7 6 8
• Feb 1961 7 8 4
• Mar 1961 4 2 5
• Apr 1961 3 3 4
• May 1961 7 6 10
• Jun 1961 4 6 6
• Jul 1961 5 5 4
• Aug 1961 3 3 6
• Sep 1961 7 3 3
• Oct 1961 4 3 7
• Nov 1961 7 2 7
• Dec 1961 3 4 4
•
• Conversion en numérique:as.numéric()
• FALSE->0 TRUE ->1 “ 1 ”, “ 2 ”,..->1,2,..“ A ”-
>NA
• Conversion en logique: as.logical() 0->FALSE
• autres nombres ->TRUE
• “ FALSE”->FALSE
• “ TRUE” ->TRUE
• autres caractères ->NA
• Conversion en caractère:as.character()
• 1,2,…-> “ 1 ”, “ 2 ”
• FALSE- > “ FALSE ”
• TRUE -> “ TRUE ”
Lois de probabilité, distributions
• On peut évaluer les quantités suivantes:
• Fonctions de répartition
• Densité
• Quantiles
• Echantillons Simulés
• Les fonctions ont le même nom avec des préfixes
différents
• r: donne des échantillons
• d: donne les valeurs P(X=j)
• p: donne les valeurs P(X<=x)
• q: donne la valeur y telle que P(X=x)=y
• Exemples:
• dnorm(),pnorm(),qnorm(),rnorm():loi normale
• dbinom(),pbinom(),qbinom(),rbinom():loi binomiale
• dt(),pt(),qt(),rt():loi de student
• dpois(), ppois(), qpois(), tpois():loi de Poisson …
•
• dbinom(k, n, p) donne la valeur P(X=k) sachant que X suit une
loi B(n,p),c’est-à-dire
• Exemple: dbinom(3,10,0.2) 0.2013266
•
•
•
•
•
•
• rbinom(10,n,p) donne un échantillon de taille
10 extrait d’une population suivant une loi
B(n,p):
• Exemple: rbinom(10,10,0.2)
•
• [1] 5 2 3 2 4 0 4 2 0 2
•
• pbinom(k,n,p) donne P(X<=k) sachant que X
suit une loi B(n,p),c’est-à-dire la valeur
de la fonction de répartition F(k)
• Exemples:
• pbinom(3,10,0.2); 0.8791261
• pbinom(1:10,10,0,2) ;
• [1] 0.1073742 0.3758096 0.6777995 0.8791261 0.9672065
0.9936306 0.9991356 0.9999221 0.9999958 1.0000000
•
Fonction de répartition de la loi binomiale de
paramètres 10 et 0,2
•
•
• qbinom(q,n,p) est le quantile , c’est-à-dire la
plus petite valeur x telle que F(x)=P(X<=x)
>=q.
•
•
• Exemple:
• qbinom(0.5,10,0.2) ; [1] 2
• qchisq(.1,df=8) est le premier décile de X^2(8)
• (loi du chi-deux a 8 degrés de liberté)
Exemple d'une loi continue: la loi normale
qnorm(0.2) [1] -0.8416212
Représentation de données
discrètes:
tracés d'histogrammes
•
• La fonction hist()
• Exemple: v=rbinom(1000,10,0.4)
•
• table(v);
• v
• 0 1 2 3 4 5 6
7 8
• 4 44 110 215 253 194 125 42 13
• hist(v);
Distribution d’un ensemble
d’observations
• Quelques fonctions: si v est un ensemble d’observations
• table(v): compte les fréquences des éléments de v
• hist(v): trace l’histogramme
• summary(v): renvoie un résumé statistique du contenu de
v,avec le min 1er quartile, moyenne, médiane,3iemme quartile
et max
• quantile(v): renvoie les quantiles correspondant au vecteur
de probabilité donné. Par défaut renvoie les quartiles
• Moins utilisées
• stem():arbre
• qqplot(x,y):trace les quantiles de x /quantiles de y
• essai=sample(1:20,200,replace=TRUE)
•
• stem(essai)
•
•
• 1 | 0000000000000000
• 1 |
• 2 | 0000000000000000000000000
• 2 |
• 3 | 00000000000000000000000
• 3 |
• 4 | 0000000000000000
• 4 |
• 5 | 00000000000000000000
• 5 |
• 6 | 000000000000000000000
• 6 |
• 7 | 00000000000000000
• 7 |
• 8 | 00000000000000000000000000
• 8 |
• 9 | 00000000000000000
• 9 |
• 10 | 0000000000000000000
•