La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours 2 Vecteurs, matrices,listes,séries temporelles, data frames.

Présentations similaires


Présentation au sujet: "Cours 2 Vecteurs, matrices,listes,séries temporelles, data frames."— Transcription de la présentation:

1 Cours 2 Vecteurs, matrices,listes,séries temporelles, data frames

2 Génération de nombres aléatoires ● Rappel: Un échantillon est une partie d'une population sur laquelle s'effectue une étude statistique. On peut disposer d'échantillons issus d'une expérimentation, ou, si on connait la loi de la variable parente X,(de distribution connue) simuler ces observations: on parlera d'échantillon empirique ou observé et d'échantillon simulé. La taille d'un échantillon est le nombre d'observations de l'échantillon

3 Exemple 1 ● X: v.a.r taille de la population P ● Un échantillon de taille 5 issu d'une expérimentation: ● (1,60;1,80;1,72;1,78;1,63) ● Un échantillon simulé de taille 10 en supposant que X suit une loi normale de paramètres (1,75;15) ● 209.38 186.99 167.24 168.71 184.49 175.63 162.25 177.86 183.27 181.68 (Obtenu par x=rnorm(10,175,15);x)

4 Exemple 2: lois discrètes La loi binomiale B(n,p), rbinom() P ( X = k )=[n!/p!(n-p)!] p^k ( 1 - p )^n-k rbinom(10,10,0.3) [1] 3 5 0 2 3 1 3 5 4 6 rbinom(100,10,0.3) [1] 4 3 5 2 3 4 4 4 0 0 2 2 4 4 1 4 3 2 4 3 4 3 2 3 1 3 5 3 3 4 4 2 2 1 3 5 3 5 2 5 5 1 6 2 3 4 3 2 2 4 2 1 1 4 4 3 2 2 3 2 1 2 5 6 5 2 3 3 4 2 3 4 4 3 1 3 3 4 6 1 2 6 4 1 2 7 3 4 3 4 3 5 2 1 1 4 2 4 3 1

5 ● la loi uniforme discrète U (n)(où les pi sont tous égaux):sample() Exemple a=sample(1:15,10);a [1] 12 8 11 10 9 4 2 14 1 5 ● la loi de Poisson P ( ):rpois() p(X=k)=e^{- } ^k/k! exemple: b=rpois(10, 5);b [1] 7 5 5 6 4 7 4 6 3 6 ● la loi géométrique g (p),p(X=k) = p (1-p)^k ● rgeom(10,0.25) [1] 1 2 0 0 3 2 1 2 1 0

6 Génération de nombres aléatoires Exemples: sample():échantillon, tirages avec ou sans remise, permutations exemples: v1= sample(1:10) : permutation de{1,2,..,10} v2= sample(1:10,3) : tirage sans remise (par défaut )de 3 éléments parmi 10 v3= sample(1:2,10,replace=TRUE) : tirage avec remise de 10 valeurs 1 ou 2 au hasard pour un tirage non uniforme on précise le vecteur probabilité(p1,…pn) avec  pi=1. exemple:v4=sample(1:5,3,prob=c(0.1,0.2,0.1,0.5,0.1)) rnorm(100):génère 100 observations issues de la loi normale de paramètres 0 et 1 (par défaut) rnorm(100, mean=2,var=3): génére 100 observations issues de la loi normale de paramètres 2 et 3

7 Complément 1: distributions des caractéristiques usuelles d'un usuelle d'un échantillon ● Le pb central de l'inférence statistique: disposant d'un échantillon d'observations de taille n, déduire les propriétés de la population dont il est issu.(moyenne par exemple) ● Si l'échantillon est représentatif,(divers modes d'échantillonnage, les observations deviennent des variables aléatoires ainsi que les résumés numériques usuels:il convient donc d'en chercher les lois de probabilité avant de tenter d'extrapoler à la population. ● Exemple: on prélève au hasard n ampoules électriques dans une production et on mesure leur durée de vie, xi. Dans le cas d'un échantillon représentatif, les différences entre les xi peuvent etre considérées comme des fluctuations de nature aléatoire.

8 suite D' où l'hypothèse fondamentale de la théorie de l'échantillonnage: Les valeurs observées xi sont des réalisations d'une même variable aléatoire X, appelée variable parente. Cela revient à postuler l'existence d'une var aléatoire X « durée de vie d'une ampoule », dont on observe n réalisations xi, ou bien à postuler l'existence de n var aléatoires Xi toutes de même loi et dont on observe une seule réalisation xi. Un échantillon (x1,...xn) constitue n réalisations indépendantes de la var X, ou bien une réalisation unique du n-uplet (X1,...Xn). Par extension on appelle échantillon le n-uple (X1,...Xn).

9 Suite: définition d'une statistique La théorie de l'échantillonnage se propose d'étudier les propriétés du n-uple(X1,...Xn)et des caractéristiques le résumant, à partir des propriétés de X, en étudiant en particulier ce qui se passe lorsque n (taille de l'échantillon)est grand. Statistique: Une statistique est une fonction mesurable de X1,...Xn. T=f(X1,...Xn)

10 Exemple 1 la moyenne La statistique « moyenne empirique de l'échantillon » T=1/n(  Xi) a pour moyenne la moyenne de X,E(T)=E(X) pour variance la variance de X divisé par n V(T)=V(X) /n loi forte des grands nombres: T tend presque sûrement vers m théorème central limite:T-E(X)/(  sqrt(n))tend vers la loi normale centrée réduite N (0,1) résultat fondamental en statistique, vrai lorsque les Xi sont indépendantes.

11 Exemple 2 la variance La statistique « variance empirique de l'échantillon » S 2 =1/n  Xi-T) 2 a pour moyenne E(S 2 )=(n-1/n)V(X).On dit que cette statistique est biaisée (E(S 2 )n'est pas égal à V(X)) Théorème central limite: [S 2 -(n-1/n)  2 ]/sqrt(V(S 2 )) tend vers la loi normale centrée réduite N (0,1). résultat vrai lorsque les Xi sont indépendantes.

12 Génération de matrices 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 ex: M=matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL) 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 M[c(1,5,4),]: sélection de plusieurs lignes (1,5 et 4) Dimension d’une matrice: dim(): renvoie la dimension de la matrice. On peut aussi imposer cette dimension

13 Génération de matrices(suite) 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 un vecteur M[M[,1]>0,]:sélectionne la sous matrice pour laquelle les valeurs dans la première colonne sont positives

14 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

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

16 Opérations sur les matrices (suite) 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), ou les deux ( margin=c(1,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

17 Les listes 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;

18 Les listes (exemple) ● 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....

19 Les series temporelles 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

20 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

21 plot(t)

22 data.frame En interne ce sont des listes, dont les champs sont des colonnes En apparence ce sont des matrices, avec comme différence essentielle que les différentes colonnes peuvent être de modes distincts:alphanumériques, booléennes, facteurs… Les lignes et les colonnes sont nommées et on peut y accéder par leur indice de position ou par leur nom… exemple: L= LETTERS[1:3]; D=data.frame(=rep(1,10),y=1:10,fac=sample(L,10, repl=TRUE)); La troisième colonne est D[,3]ou D[,”fac”]ouD$fac C’est le type par défaut résultant de la lecture de fichiers externes et nécéssaire pour exporter des tableaux de R x y fac 1 1 1 C 2 1 2 C 3 1 3 A 4 1 4 B 5 1 5 A 6 1 6 A 7 1 7 B 8 1 8 A 9 1 9 B 10 1 10 C

23 Fonctions pour les data frames data.frame(): names(),colnames()rownames()liste des noms de ligne et de colonnes dimnames():liste ayant 2 champs: les noms de lignes et les noms de colonne dim():liste donnant les dimensions du data frame cbind():concaténation en colonne rbind():concaténation en ligne Exemple:cbind(d,salle=rep(c(1,2),5)) x y fac salle 1 1 1 B 1 2 1 2 A 2 3 1 3 B 1 4 1 4 A 2 5 1 5 C 1 6 1 6 C 2 7 1 7 B 1 8 1 8 C 2 9 1 9 B 1 10 1 10 A 2

24 La fonction data() : Cette fonction permet de lire des données internes un data.frame ou de lister les data frame existants Exemples: data() # liste de tous les data frame dans le package par défaut « datasets » data(USArrests) # charge le data frame USArrests help(USArrests) # donne des informations sur le data frame « USArrests », si elles existent data(package =.packages(all.available = TRUE))# Donne la liste de tous les data frames de tous les packages disponibles try(data(package = "rpart") )# liste des data frame dans le package rpart

25 La fonction library() Exemples: library():donne la liste des packages disponibles On peut en charger d’autres par le CRAN par exemple library(cluster);data(agriculture);permet de charger le data frame « agriculture » du package « cluster » data(agriculture, package=« cluster »); permet aussi de charger ce data frame

26 Importer des fichiers ascii Pour les lectures et écritures dans un fichier, R utilise le repertoire de travail. getwd():permet de connaître ce repertoire setwd():permet de modifier le repertoire de travail exemple setwd(« c:/data ») R peut lire des données stockées dans un fichier texte (ascii):read.table() la sortie est un data.frame arguments de cette fonction: file= nom du fichier sep= séparateur (espace par défaut) header= booléen (=TRUE si le nom des colonnes est en tête, FALSE sinon)

27 Exemple: fichier c:/ArR/fic.txt read.table(file=,sep=,header=) F=read.table(« c://ArR//fic.txt », sep=« \t»,header=TRUE); Variantes:read.csv(), read.delim(),read.fwf() On peut importer des fichiers dans d ’autres formats, spécifiques à certains logiciels, (SAS,SPSS, bases de données SQL), à l'aide du package foreign On peut importet directement des feuilles Excell

28 et exporter Ecriture d’un fichier write.table() arguments: file= nom du fichier append= booléen si TRUE ajoute au fichier existant, si FALSE ecrase le fichier existant col.names= booléen si TRUE écrit les noms de colonnes row.names= idem pour les lignes

29 Modes ouiNumérique, caractère, complexe logiqueListe list ouiNumérique,caractère,complexe logiqueSérie temporelle ts OuiNumérique,caractère,complexe logiqueData.frame NonNumérique,caractère,complexe logiqueMatrice matrix NonNumérique,caractère,complexe logiqueTableau array NonNumérique,caractèreFacteur factor NonNumérique,caractère,complexe logiqueVecteur vector Plusieurs modesModes possibles

30 Extensions de R, les packages ● Les packages R fournissent un ensemble cohérent de fonctions supplémentaires, spécialisées dans un certain domaine ● Souvent accompagnés d'autres jeux de données ● Quelquefois certaines fonctions classiques sont redéfinies

31 Gestion de packages ● Installation install.packages(«... ») ● Mise à jour update.packages()


Télécharger ppt "Cours 2 Vecteurs, matrices,listes,séries temporelles, data frames."

Présentations similaires


Annonces Google