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

Statistiques unidimensionnelles

Présentations similaires


Présentation au sujet: "Statistiques unidimensionnelles"— Transcription de la présentation:

1 Statistiques unidimensionnelles
Cours de R Statistiques unidimensionnelles

2 Généralités sur R R est un système d ’analyse statistique et graphique, clone de S+(très cher), basé sur le langage S (statistiques),écrit essentiellement en C R est gratuit, compatible avec toutes les plate-formes Les fichiers pour installer R sont disponibles à partir du site du CRAN (Comprehensive R Archive Network)

3 Généralités (suite) R est un langage interprété et pas compilé
constitué de packages et de bibliothèques langage orienté objet on agit sur ces objets avec des opérateurs arithmétiques, logiques ou de comparaison, et avec des fonctions Avec R une fonction s’écrit toujours avec des parenthèses, même si elle ne contient rien Exemples: mean(); var(x)

4 Aides au démarrage Une commande est exécutée dés que l'on utilise la touche entrée plusieurs commandes sur la même ligne séparées par des; pour voir le contenu d ’un objet, taper son nom Commentaires aprés le symbole #

5 L’aide en ligne Exemples: help(mean) ou help(« mean ») ou ?mean()
ouvre une page sur le modèle suivant:

6 mean(base) R Documentation Arithmetic Mean Description Generic function for the (trimmed) arithmetic mean. Usage mean(x, ...) ## Default S3 method: mean(x, trim = 0, na.rm = FALSE, ...) Arguments x :An R object. Currently there are methods for numeric data frames, numeric vectors and dates. A complex vector is allowed for trim = 0, only. trim: the fraction (0 to 0.5) of observations to be trimmed from each end of x before the mean is computed. na.rm a logical value indicating whether NA values should be stripped before the computation proceeds. ...

7 See Also weighted.mean, mean.POSIXct
Value For a data frame, a named vector with the appropriate method being applied column by column. If trim is zero (the default), the arithmetic mean of the values in x is computed, as a numeric or complex vector of length one. If any argument is not logical (coerced to numeric), integer, numeric or complex, NA is returned, with a warning. If trim is non-zero, a symmetrically trimmed mean is computed with a fraction of trim observations deleted from each end before the mean is computed. References Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole. See Also weighted.mean, mean.POSIXct Examples x <- c(0:10, 50) xm <- mean(x) c(xm, mean(x, trim = 0.10)) mean(USArrests, trim = 0.2)

8 Lancement de R, les menus(sous windows)

9 La barre de menus de l’éditeur
Ouvrir un script Enregistrer un script Soumettre une ligne de code Passer d’un fenêtre à l’autre imprimer

10 La barre de menus de RGui
Ouvrir un script Charger une image Sauvegarder une image Copier coller Arrêter le calcul en cours imprimer

11 Pour débuter Pour créer un objet on utilise l’opérateur d'affectation = Exemples:n=5 M=c(1,2,3) k=c(T,F) Il faut respecter la casse: n est différent de N Voir l’ensemble des objets créés: objects() tous les objets ls(pat=« n ») objets dont le nom commence par la lettre n rm() remove() élimine des objets ex: rm(n,M,k) c() ,objects(), ls() sont des fonctions Pour mettre une ligne en commentaire: # Pour afficher des valeurs: print() dans le script ou le nom de la valeur dans R

12 suite… Un objet est caractérisé par son nom, son contenu, mais aussi ses deux attributs son mode: il en existe quatre principaux: numérique, caractère, complexe et logique sa longueur: nombre d’éléments de l’objet Pour connaître son mode et sa longueur, on peut utiliser respectivement les fonctions mode() et length() Une valeur manquante est représentée par NA, Une valeur de mode caractère est représentée entre guillemets doubles

13 Génération de vecteurs
En saisissant les valeurs séparées par des virgules à l’aide de la fonction c() : v=c(1,2,3) En générant des suites numériques avec l’opérateur : v=1:10 Avec les fonctions seq(): génère des suites régulières rep(): duplique une suite sample():tirage aléatoire En utilisant d’autres vecteurs et des opérations numériques + ,- ,* , / , ^ ou logiques (&,I,!,>,<,>=,<=,==,!=) Si v1 et v2 sont deux vecteurs de même longueur, v3=v1+v2 V3=v1/v2 V3=v1^2 V3=v1>v2 length(v) donne la longueur de v

14 Séléction d’éléments dans un vecteur
Deux modes de sélection dans un vecteur v Utiliser les indices de position des éléments de v Utiliser un vecteur booléen de même longueur que v, valant TRUE aux positions des éléments à sélectionner Exemples: v= -3:2 v[3] v[c(4,6)] a=c(4,6); v[a] l=c(TRUE, TRUE, TRUE,FALSE,TRUE,FALSE); v[l] l=v>0; v[l] Utilisation d’indices négatifs pour dé-selectionner exemple w=v[-4]

15 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

16 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 summary(v): renvoie un résumé statistique du contenu de v,avec le min 1er quartile, moyenne, médiane,3iemme quartile et max min(), max(),mean(), var(), cov(), cor(),... quantile(v): renvoie les quantiles correspondant au vecteur de probabilité donné. Par défaut renvoie les quartiles

17 Quelques fonctions graphiques principales
plot(x): valeurs de x en ordonnées plot(x,y): nuage de points y en ordonnées x en abcisses x et y étant des nombres ou des vecteurs de même longueur coplot():trace tous les nuages conditionnels boxplot():boites à moustaches pairs(): plusieurs nuages, tous les nuages possible sur toutes les colonnes possible du data frame hist():histogramme ( des fréquences par défaut) barplot(), matplot(): : diagrammes en batons curve(): tracé d ’une courbe Moins utilisées stem():arbre qqplot(x,y):trace les quantiles de x /quantiles de y

18 barplot(): diagrammes en batons x=rpois(100,lambda=5) T =table(x) r = barplot(T, col='gray')

19 Représentation de données: histogrammes
La fonction hist() Exemple: v=rbinom(1000,10,0.4) table(v) v hist(v)

20

21 hist(x,breaks= « Sturges »,prob=FALSE)
X un vecteur de valeurs pour lequel on souhaite un histogramme breaks:soit -un vecteur chaine de caractère donnant un algorithme pour calculer le nombre d'intervalles -un nombre donnant le nombre d'intervalles prob=FALSE:fréquences prob=TRUE: fréquences relatives ou probabilités

22 la fonction curve() curve(sin,0, pi)

23 curve(x^3-3*x, -2, 2) curve(x^2-2, add = TRUE, col = "violet")

24 La fonction stem() stem(essai) essai=sample(1:20,200,replace=TRUE)
1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 5 | 5 | 6 | 6 | 7 | 7 | 8 | 8 | 9 | 9 | 10 |

25 curve(pnorm(x),-3,3, col="red") curve(dnorm(x),-3,3,col="blue",add=TRUE)

26 simdonnees=rexp(1000, rate=0.1)
hist(simdonnees,prob=T) curve(dexp(x,rate=.1),add=TRUE)

27

28 Les arguments des fonctions principales
Titre de la figure (en haut du graphique) main= Nom de l’axe des x des y Fixe les limites des axes xlab= ylab= xlim= ylim= « p »dessine des points « l » dessine une ligne,   « s » ou « S » une fonction en escalier… type= Considère les axes comme logarithmiques log=« x » log=« y » log=« xy » axes=FALSE Force la fonction à agir comme une fonction de bas niveau (superpose au graphique précédent) add=TRUE

29 Fonctions graphiques secondaires
points():comme plot(), mais superpose au graphique précédent lines(),segments() :trace des segments text(),mtext(): ajout de texte arrows(): ajoute des flèches abline(h=): lignes horizontales abline(v=): lignes verticales abline(a,b): ligne de pente b, ordonnée à l’origine a legend(x,y): ajoute la légende au point (x,y) title(): ajout du titre

30 fonction plot() x=rnorm(10);plot(x)

31 plot(x,type="l")

32 x=rnorm(10);y=rnorm(10); plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs")

33 plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs", xlim=c(2,2),ylim=c(2,2), pch=22,col="red",bg="yellow")

34 x=rnorm(10);y=rnorm(10);
plot(x,y,xlab="dix valeurs au hasard", ylab="dix autres valeurs",xlim=c(-2,2),ylim=c(-2,2),pch=22,col="red",bg="yellow",bty="l",tcl=0.4,main="comment customiser un graphique avec R")

35

36 Statistiques bi-dimensionnelles

37 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

38 exemple: v=1:12; M=matrix(v);dim(M)=c(3,4);M;
[,1] [,2] [,3] [,4] [1,] [2,] [3,] M[M[,1]>0,]:sélectionne la sous matrice pour laquelle les valeurs dans la première colonne sont positives

39 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

40 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

41 data.frame 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 C C A B A A B A B C

42 Fonctions pour les data frames
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 B 1 A 2 B 1 A 2 C 1 C 2 B 1 C 2 B 1 A 2

43 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

44 La fonction library() Exemples:
library():donne la liste des packages (ou bibliothèques)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

45 boxplot():boites à moustaches boxplot(len ~ dose, data = ToothGrowth)
len supp dose VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5 VC 0.5

46 pairs(): plusieurs nuages, tous les nuages possible sur toutes les colonnes possible du data frame pairs(iris[1:4], pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)]) iris Sepal.Length Sepal.Width Petal.Length Petal.Width Species setosa setosa setosa setosa setosa setosa

47

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

49 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()…ou des fichiers dans d ’autres formats(Excell,SAS,SPSS), bases de données SQL… les fonctions ne sont pas toujours dans le package base

50 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

51 Sauvegarder certains objets en binaire ou en ASCII et les restaurer
Fonctions: dump(): sauve en ascii des objets R source():recharge les objets sauvés par dump(),par exemple un script sauvegardé sous le nom test.R sera rappelé par source(« test.R  », echo=TRUE) save(): comme dump() mais en binaire load(): comme source() mais en binaire

52 En pratique, on pourra créer un repertoire de travail par analyse de données, et y déposer:
les fichiers de données brutes le fichier script contenant les commandes R le workspace et les fichiers résultats(textes et graphiques)

53 Lois de probabilité, distributions
On peut évaluer les quantités suivantes: Fonctions de répartition Densité Quantiles Simulations 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

54 exemples 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) 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] 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 distribution F(k) Exemples:pbinom(1,10,0.2) [1] pbinom(2,10,0.2) [1] qbinom(q,n,p) est le quantile, c’est-à-dire la plus petite valeur x telle que P(X<=x)>=q Exemple: qbinom(0.5,10,0.2) [1] 2 qchisq(.1,df=8) est le premier décile deX^2(8)

55 Exemple 1 n=10 p=0.2 x=0:n y=choose(n,x)*p^x*(1-p)^(n-x) #ou bien y=dbinom(x,n,p) plot(x,y,type="h" ,lwd=10) Exemple 2 prod(1:8); 40320 identique à factorial(8)

56 exemples 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)

57 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] 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 distribution F(k) Exemples: pbinom(3,10,0.2); pbinom(1:10,10,0,2) ; [1]

58

59 Exemple d'une loi continue: la loi normale qnorm(0.2) [1] -0.8416212

60 Fonctions mathématiques de base
Ecart-type des éléments de x sd(x) Matrice de corrélation si x est une matrice ou un data frame cor(x) Variance des éléments de x(calculée sur n-1) matrice des var et cov si x est une matrice var(x) ou cov(x) Médiane des éléments de x median(x) Moyenne des éléments de x mean(x) Idem que c(min,max) range(x) Retourne l’indice du minimum des éléments de x which.min(x) Retourne l’indice du maximum des éléments de x which.max(x) Maximum, minimum des éléments de x max(x), min(x) Produit des éléments de x prod(x) Somme des éléments de x sum(x)

61 Autres fonctions Retourne un vecteur de meme longueur que x contenant les éléments de x qui sont dans y match(x,y) Idem pour produit, minimum, maximum cumprod(), cummin(),cummax() Un vecteur dont le ieme élément est la somme de x[1]à x[i] cumsum(x) Un vecteur dont le iéme élément est le minimum entre x[i] et y[i] pmin(x,y,…) Centre et réduit les données scale(x) Range les éléments de x rank(x) Trie les éléments de x dans l’ordre ascendant sort(x) Inverse l’ordre des éléments de x rev(x) Arrondit les éléments de x à n chiffres après la virgule round(x,n)

62 encore… Ré-échantillonnage aléatoire et sans remise de size éléments dans x sample(x,size) Retourne une selection de x en fonction de critères subset() Retourne un tableau des effectifs des différentes valeurs de x table() Si x est un vecteur ou un data frame, retourne un objet similaire mais avec les éléments duppliqués supprimés unique() Retourne un message d’erreur si x contient au moins un NA na.fail() Supprime les observations avec données manquantes na.omit() Coefficient binomial Cnk choose(n,k)


Télécharger ppt "Statistiques unidimensionnelles"

Présentations similaires


Annonces Google