INTRODUCTION AU LOGICIEL R. Ecole d été CEA/EDF/INRIA 2011 Introduction à R 1



Documents pareils
Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Introduction à MATLAB R

Annexe commune aux séries ES, L et S : boîtes et quantiles

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Calcul Formel et Numérique, Partie I

INTRODUCTION AU LOGICIEL R

Cours 7 : Utilisation de modules sous python

Présentation du logiciel

Séance 0 : Linux + Octave : le compromis idéal

Initiation à l analyse en composantes principales

Notes de cours Statistique avec le logiciel R


La place de SAS dans l'informatique décisionnelle

Une introduction au langage R

1 Introduction - Qu est-ce que le logiciel R?

Analyse exploratoire des données

Installation. Notes de Cours sur le logiciel R. Plan. Au démarrage

Initiation au logiciel R

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

Calcul Formel et Numérique, Partie I

3.2. Matlab/Simulink Généralités

Les concepts de base, l organisation des données

Python - introduction à la programmation et calcul scientifique

TP1 : LOGICIEL R ET PRÉDICTION DE L EFFLORESCENCE ALGALE

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

Tutoriel Mathematica Les graphiques

Lire ; Compter ; Tester... avec R

TP 0 : INTRODUCTION À MATLAB

Simulation de variables aléatoires

Aide-mémoire de statistique appliquée à la biologie

TP 1 Introduction à Matlab Février 2009

Chapitre 3. Les distributions à deux variables

3. Caractéristiques et fonctions d une v.a.

TABLE DES MATIERES. C Exercices complémentaires 42

Initiation à LabView : Les exemples d applications :

TP 1. Prise en main du langage Python

Jérôme Mathieu janvier Débuter avec R. Ce document est disponible sur le site web :

LES TYPES DE DONNÉES DU LANGAGE PASCAL

2010 Minitab, Inc. Tous droits réservés. Version Minitab, le logo Minitab, Quality Companion by Minitab et Quality Trainer by Minitab sont des

Présentation du langage et premières fonctions

1. Structure d'un programme FORTRAN 95

R00 Installation du logiciel R sous Windows

Aide - mémoire gnuplot 4.0

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exemple d application en CFD : Coefficient de traînée d un cylindre

1 Importer et modifier des données avec R Commander

Statistiques Descriptives à une dimension

Opérations de base sur ImageJ

FIMA, 7 juillet 2005

Optimisation, traitement d image et éclipse de Soleil

Optimiser ses graphiques avec R

Maple: premiers calculs et premières applications

Logiciel XLSTAT version rue Damrémont PARIS

Statistique Descriptive Élémentaire

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

STAGE IREM 0- Premiers pas en Python

Corrigé des TD 1 à 5

INTRODUCTION À L'ENVIRONNEMENT DE PROGRAMMATION STATISTIQUE R

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Introduction aux Statistiques et à l utilisation du logiciel R

Exemples d Analyses de Variance avec R

Statistique : Résumé de cours et méthodes

Présentation du PL/SQL

Introduction à la présentation graphique avec xmgrace

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Table des matières. I Mise à niveau 11. Préface

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

TP de Statistiques: Utilisation du logiciel R

Résumé du Cours de Statistique Descriptive. Yves Tillé

Séries Statistiques Simples

INITIATION AU LOGICIEL SAS

Découverte du tableur CellSheet

R - un exemple du succès des modèles libres

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Introduction à l informatique en BCPST

4 Statistiques. Les notions abordées dans ce chapitre CHAPITRE

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Cours Informatique Master STEP

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Pourquoi R devient incontournable en recherche, enseignement et développement

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Programmes des classes préparatoires aux Grandes Ecoles

Évaluation de la régression bornée

L espace de travail de Photoshop

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

Initiation à linfographie

1 Recherche en table par balayage

WHS FutureStation Nano Extras\Options: Général

Premiers pas avec Mathematica

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

R01 Import de données

ACP Voitures 1- Méthode

Statistiques à une variable

Transcription:

INTRODUCTION AU LOGICIEL R Ecole d été CEA/EDF/INRIA 2011 Introduction à R 1

Présentation de R R est un système d analyse statistique et graphique créé par Ross Ihaka et Robert Gentleman (1996) Développé par des statisticiens «R developmentcoreteam» (21 personnes) Version 1.0.0 en 2000, version 2.12.1 en janvier 2011 R est un logiciel libre(license GNU GPL), http://cran.r-project.org/ Gratuit, code source accessible, collaboratif Langage de programmation spécifique Documentation abondante Fonctionne sous Unix, Linux, Windows et Mac Possibilités de base extensibles par des "packages" (+ de 1800 packages...) Evolue en permanencecar implémentations fréquentes de nouvelles méthodologies statistiques (statistiques spaciales, bayesien,...) Utilisé en recherche, en enseignement et en entreprise Ecole d été CEA/EDF/INRIA 2011 Introduction à R 2

Avantages/inconvénients Points forts : - Stockage et manipulation de données - Opérateurs pour les tableaux et calcul matriciel,, - Outils intégrés d analyse de données et d analyse statistiques - Nombreux packages sur les méthodes statistiques récentes, - Langage de programmation interprété, simple et efficace, - Flexibilité grâce au stockage des résultats sous forme d objets - Possibilité de couplage des fonctions R avec d autres langages (encapsulation de C/Fortran, passerelles Perl/R, Python/R, Matlab/R, ) Points faibles : - Calculs + lents que les langages non interprétés - Problème mémoire pour les données trop volumineuses - Paramétrisation complexe des options dans l utilisation des fonctions Ecole d été CEA/EDF/INRIA 2011 Introduction à R 3

Ressources Plus de 80 livres : - Collection spécifique Springer Use R - Introductory Statistics with R (Dalgaard) -The R book (Crawley) - Linear models with R (Faraway) - Software for data analysis : programming with R (Chambers) - Bayesian Computation With R (Albert) - Introducing Monte Carlo Methods with R (Robert & Casella) - Internet: -R home page http://cran.r-project.org/(manuals, Taskview, RSiteSearch, Mailing lists, FAQ,...) - R graphics gallery http://addictedtor.free.fr/graphiques/ - Ecole d été CEA/EDF/INRIA 2011 Introduction à R 4

Premiers pas Démarrer et quitter R : Windows : double clic sur l icône Linux : taper R Quitter : q() > Apparaît automatiquement au début de chaque ligne + apparaît si la ligne précédente est incomplète Aide, démos et exemples : > help.start() > demo() > help(plot) ou?plot > demo(library) > help.search("plot") example(fonction) > > apropos("plot") Editeur : Windows : intégré ( tinn-r gratuit) Linux : emacs(ess) Pour exécuter rapidement un ensemble de lignes avec l éditeur detexte de R, il suffit de les sélectionner à la souris et de taper Ctr-R ou F5 Ecole d été CEA/EDF/INRIA 2011 Introduction à R 5

Les librairies ou packages Installer une librairie : -Windows: Packages -> installer le package -> Choix du site miroir -> choix du package -Linux: commande «R CMD install» Charger une librairie : > library() pour connaitre les librairies disponibles dans la session R > library(mass) pour charger le package MASS > help(package= MASS ) Ecole d été CEA/EDF/INRIA 2011 Introduction à R 6

Entrées/sorties Exporter des données : > write.table(data, file= file.txt, quote=f) #pour un tableau > write.table(data, file= file.txt ) #pour un vecteur Exporter des données : > data = read.table( file.txt,header=t) #pour un tableau > data = scan( file.txt,header=t) #pour un vecteur Exporter des graphiques : -Windows : cliquer droit sur le graphe ou "Fichier"-"sauver sous" -"pdf, ps, jpeg",... -Linux : commandes postscript, jpeg, bmp, > bmp(filename = "graphe1.bmp") # avant l execution du graphe > dev.off() # après l execution du graphe Exécuter des commandes contenues dans un fichier : > source("mes_commandes.r") Ecole d été CEA/EDF/INRIA 2011 Introduction à R 7

Opérations élémentaires et objets Opérations élémentaires : -Scalaires : *; -; +; /; ^;%% (modulo) Affectation : = ou <- Principaux types : - entier, réel, complexe -caractère -logique : TRUE, FALSE, NA (not available) Objets de base : - vecteurs, matrices, data.frames, listes, array > ls()# retourne la liste des objets de la session. > rm(x)# supprime l'objet x Fonctions iset as : -is.type(x) teste si objest un objet de type xxx - as.type(x) contraint si possible x au type d'objet type (complex, real, vector matrixetc...) > x=3 > is.complex(x) > is.real(x) > as.character(x) Ecole d été CEA/EDF/INRIA 2011 Introduction à R 8

Vecteurs et matrices Création de vecteur : - fonction c() : concatène des scalaire ou des vecteurs > x1=c(1,2,3) > x2 = c(x1,4,5,6) - seq(from, to, by) ou seq(from, to, length) > x3 = seq(1,6,by=1) - rep(x,times) > rep(0,10) > rep(x1,3) Création de matrice : - matrix(data,nrow, ncol) : remplit une matrice de taille nrow x ncol colonne par colonne à partir du vecteur data. - diag(vect) : crée une matrice diagonale de diagonale le vecteur vect > mat1 = matrix(seq(1,6,by=1),ncol=2) - cbind(vect1,vect2) : concaténation en colonne > mat2 = cbind(mat1,rep(0,3)) - rbind(vect1,vect2) : concaténation en colonne Ecole d été CEA/EDF/INRIA 2011 Introduction à R 9

Opérations sur les vecteurs et les matrices Extraction d éléments : - vecteur : vect[i] > x=seq(1,10,by=1) > x[1] > x[c(1,3,9)] > x[-5] > x[-c(1,10)] > x[x>5] > x[x>9 x<2] > x[x<6 & x>3] > y <- c(na,x,na) > y[!is.na(y)] - matrice : mat[i,j] > M=matrix(x,ncol=2) > M[1,2] > M[3,] > M[-1, Opérations * + -/ : opérations termes à termes sur des vecteurs ou matrices > y = rep(1,10) > x+y > z=c(x,1) > z+y > u = rbind(x,y) > u+1 Calcul matriciel : -produit matriciel :%*% -valeurs/vecteurs propres : eigen -déterminant: det -transposée de la matrice A : t(a) -inverse de A : solve(a) -solve(a,b) retourne x tel que Ax= b Fonction apply: apply(x, MARGIN, FUN,...) applique aux lignes (margin=1) ou colonnes de X (margin=2) de X la fonction FUN Ecole d été CEA/EDF/INRIA 2011 Introduction à R 10

dataframes, listes et array listes : Objet «fourre-tout» (scalaire, vecteur, matrice, ) Accès aux composants d un objet de type listsoit par le nom soit par le numéro entre [[ ]] (très utile pour renvoyer les résultats d une fonction) > l1=list(a=1,b=seq(1,10,by=1),c=matrix(seq(1,6,by=1),ncol=2)) > l1$a > l1$b > l1$c dataframes: Structure spéciale pour les jeux de données -Mêmes opérations que les matrices - extraction des colonnes possible comme les listes (avec $) - Les colonnes peuvent être de natures différentes (quantitatives et qualitatives) > taille=c(140,160,170) > yeux =c("bleu","vert","marron") > H = data.frame(taille,yeux) > H$taille array: Généralisation du type matrixà plus de 2 dimensions (la fonction apply() reste utilisable) > A = array(1 :12,c(2,3,2)) Ecole d été CEA/EDF/INRIA 2011 Introduction à R 11

Quelques fonctions utiles Fonctions définie sur des scalaires retournant un scalaire : -sqrt, abs, sin, cos, tan, exp log, log10, - Lorsque le paramètre d'entrée est un vecteur (ou une matrice), la fonction est appliquée sur chacune des composantes. > sqrt(seq(1,6,by=1) >log(matrix(seq(1,6,by=1),ncol=2)) Fonctions définie sur des vecteurs ou des matrices : - max, min, sum, prod, length, dim, cumsum, cumprod, sort, diff, unique, > x=c(seq(1,5,by=1),seq(7,3,by=-1)) > sum(x) > cumsum(x) > length(x) > sort(x) > unique(x) Fonctions which: -which(vec) retourne les indices des coordonnées du vecteur logique vecqui prennent la valeur TRUE > which(x==5) > which(x>=5) > which(x>=5 x==1) - cas particulier : which.max et which.min Ecole d été CEA/EDF/INRIA 2011 Introduction à R 12

Ecrire une fonction Structure d une fonction retournant un objet : FUN=function(liste_des_paramètres){ commandes return(objet_retourné) } > x = FUN(paramètres) Structure d une fonction retournant plusieurs objets : FUN=function(a,b,c=0){ #affectation de valeurs par défaut commandes return(list(noms1=objet1,noms2=objet2) } > x = FUN(paramètres) > x1 = x$noms1 > x2 = x$noms2 Charger une fonction avec source("nomfichier.r") Ecole d été CEA/EDF/INRIA 2011 Introduction à R 13

Structure de contrôle Instruction conditionnelle if : - if(cond){instr1} - if (cond){instr1} else{instr2} > if (x>0) y=log(x) else y=0 - ifelse(cond,instr1,instr2) > ifelse(x>0,log(x),0) Itérations : for : for(variable in sequence) {expr} while : while(cond) {expr} repeat : repeat expr break > for (i in 1:10){ > print(i)} > i=1 > while(i<11){ > print(i) > i=i+1} Ecole d été CEA/EDF/INRIA 2011 Introduction à R 14

Graphiques Fonction centrale plot : plot(x, y,...) # help(plot) Quelques arguments : type = type="p" (points) ou "l" (ligne) ylim=c(ay,by) et xlim=c(ax,bx) pour fixer la limite des axes pch: type de points lty: type de lignes lwd: épaisseur de la ligne col : couleur (red, blue, green, ) Le graphique produit par la fonction plot(x) dépend de la classede l'objet x. Superposition de courbe ou nuages de points avec lineset points : lines(x, y) points(x,y) abline() # pour tracer des droites Ecole d été CEA/EDF/INRIA 2011 Introduction à R 15

Graphiques particuliers Variables qualitatives : pie(x) # diagramme camenbert barplot(x) # diagramme bâton Variables quantitatives : Histogram of x hist(x,nclass) # histogramme de x boxplot(x) # boite à moustache stripchart(x) Graphiques 3D : Frequency 0 5 10 15 20 25-3 -2-1 0 1 2 x -2-1 0 1 2-1.5-1.0-0.5 0.0 0.5 1.0 1.5 image(x,y,z) # forme d image persp(x,y,z) # forme de nappe contour(x,y,z) # les contours Fonction utile : z=outer(x,y,fonction) Tableau et matrice : pairs(data) # nuage de points colonne par colonne de data matplot(data) # trace chaque colonne de data Ecole d été CEA/EDF/INRIA 2011 Introduction à R 16

Statistiques descriptives Localisation : mean(x) Moyenne du vecteur x. median(x) Médiane du vecteur x. quantile(x,probs=c(0.1,0.9)) Quantiles à 10% et 90% de x max(x) Maximum de x which.max(x) Indice du maximum de x min(x) Maximum de x which.min(x) Indice du maximum de x Dispersion : sd(x) Ecart type du vecteur x. var(x) Variance du vecteur x. IQR(x) Intervalle inter-quartile de x summary(x) Résumé assez complet de x Forme kurtosis(x) Kurtosisde x (library(moments)) skewness(x) Skewness de x (library(moments)) Ecole d été CEA/EDF/INRIA 2011 Introduction à R 17

Lois de probabilité help.search( Distributions ) Pour voir les distributions existentes dloi(x,arg1,arg2,...) densité de probabilité de loi(args1,args2,...) ploi(q,arg1,arg2,...) fonction de répartition de loi(args1,args2,...) qloi(p,arg1,arg2,...) quantile de loi(args1,args2,...) rloi(n,arg1,arg2,...) génération aléatoire de n réalisations suivant loi(args1,args2,...) Quelques exemples de loi : binom(loi binomiale), norm(loi normale), unif(loi uniforme), lnorm(loi log-normal) triangle (loi triangulaire library(triangle)) gumbel(loi Gumbel library(evd)) weibull(loi Weibull), Ecole d été CEA/EDF/INRIA 2011 Introduction à R 18

Ajustement de lois et tests statistiques Estimation des paramètres d une loi : moment(x,order= p, central = FALSE) Moment d ordre p non centré de x (library(moments)) fitdistr(x,densfun,start) Estimation par maximum de vraisemblance des paramètres de densfun(library(mass)) density(x,bw) Ajustement non paramétrique de largeur de fenêtre bw > hist(x) lines(density(x)) ecdf(x) fonction de répartition empirique de x > plot(ecdf(x)) Quelques tests statistiques : ks.test(x) test de Kolmogorov-Smirnov ad.test(x) test de Anderson-Darling (library(adgoftest)) cramer.test(x,y) test de Cramer Vim Mises pour 2 échantillons (library(cramer)) shapiro.test(x) test de Shapiro-Wilks pour la normalit e library(nortest) Divers tests pour la normalit e Ecole d été CEA/EDF/INRIA 2011 Introduction à R 19

Régression linéaire Définition de la formule : formule=y~. modèle linéaire complet. formule=y~1 # modèle linéaire constant. formule=y~x1+x2 modèle linéaire avec la constante, x1 et x2. formule=y~-1+x1+x2 modèle avec x1 et x2 sans la constante. formule=y~ x1+x2+x1 :x2 # constante, x1, x2 et x1x2. formule=y~(x1+x2+x3)ˆ2 # constante, x1, x2 et interactions ordre 2. formule=y~log(x1) # constante et la variable log(x1). Ajustement par moindres carrés : > fit = lm(formule, data= ) > fummary(fit) Nombreux résultats attachés à fit et summary(fit) (utiliser names pour les voir) Visualisation > plot(fit) # divers graphiques sur résidus > plot(y,predict(fit)) # graphique rée/prédit > abline(0,1) Ecole d été CEA/EDF/INRIA 2011 Introduction à R 20