Lancement du logiciel R à l UTES :



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

Introduction à MATLAB R

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 /* */.

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

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

Initiation à LabView : Les exemples d applications :

Cours 7 : Utilisation de modules sous python

Calcul Formel et Numérique, Partie I

Une introduction au langage R


STAGE IREM 0- Premiers pas en Python

TP 1. Prise en main du langage Python

TP 1 Prise en main de l environnement Unix

Python - introduction à la programmation et calcul scientifique

Les concepts de base, l organisation des données

Découverte du tableur CellSheet

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

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

TP1 - Prise en main de l environnement Unix.

Présentation du logiciel

Initiation au logiciel R

TP 0 : INTRODUCTION À MATLAB

TP 1 Introduction à Matlab Février 2009

Initiation à la programmation en Python

Présentation du langage et premières fonctions

Statistiques à une variable

Utilisez Toucan portable pour vos sauvegardes

INTRODUCTION AU LOGICIEL R

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Introduction à la programmation en R. Vincent Goulet

Note de cours. Introduction à Excel 2007

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

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

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

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

Algorithmique et Programmation, IMA

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

1 Recherche en table par balayage

Simulation de variables aléatoires

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

données en connaissance et en actions?

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

R00 Installation du logiciel R sous Windows

Aide - mémoire gnuplot 4.0

1. Utilisation du logiciel Keepass

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Introduction à la présentation graphique avec xmgrace

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

TP1 : Initiation à l algorithmique (1 séance)

TUTORIEL Qualit Eval. Introduction :

Gestion des documents avec ALFRESCO

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Installation et configuration du serveur syslog sur Synology DSM 4.0

Leslie REGAD ; Gaëlle LELANDAIS. leslie.regad@univ- paris- diderot.fr ; gaelle.lelandais@univ- paris- diderot.fr

Organiser le disque dur Dossiers Fichiers

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

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

La Clé informatique. Formation Excel XP Aide-mémoire

Guide d utilisation 2012

Lire ; Compter ; Tester... avec R

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012

LES TYPES DE DONNÉES DU LANGAGE PASCAL

L informatique en BCPST

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

Calcul Formel et Numérique, Partie I

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

R01 Import de données

Guide de démarrage rapide. (pour la version 5.0.)

ZOTERO Un outil gratuit de gestion de bibliographies

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

Tutoriel Mathematica Les graphiques

Initiation à l analyse en composantes principales

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Traitement des données avec Microsoft EXCEL 2010

Microsoft Excel. Tableur

Tests statistiques et régressions logistiques sous R, avec prise en compte des plans d échantillonnage complexes

Outils pour la pratique

Gestion de références bibliographiques

Programmation C. Apprendre à développer des programmes simples dans le langage C

Atelier Le gestionnaire de fichier

1 Complément sur la projection du nuage des individus

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Utilisation d objets : String et ArrayList

Programmation Web. Madalina Croitoru IUT Montpellier

TP Blender n 2 : Importation d un modèle SketchUp et animation

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

AWS avancé. Surveiller votre utilisation d EC2

EXCEL TUTORIEL 2012/2013

C.M. 1 & 2 : Prise en main de Linux

Bienvenue à l historien virtuel 2.0

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

I. Introduction aux fonctions : les fonctions standards

CAPTURE DES PROFESSIONNELS

TP, première séquence d exercices.

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Transcription:

ISUP CS1 TP d introduction à R Le logiciel R est un logiciel libre. Pour télécharger une version du logiciel, il faut passer par CRAN (Comprehensive R Archive Network), un réseau mondial de sites qui stockent de manière identique les différentes versions, les mises à jour, les bibliothèques et la documentation. ( http://cran.fr. r-project.org/). Lancement du logiciel R à l UTES : Sous Windows : Dans le menu affiché sur le bureau : Pédagogie Mathématiques 1. Ouvrir le logiciel R. Le symbole > apparaît indiquant que R est prêt. 2. Créer un nouveau script TP0.R. En effet, comme R ne garde pas la trace de vos calculs, tous les codes que vous tapez (et qui sont corrects) doivent (si vous voulez les sauvegarder) être recopiés dans ce fichier (grace à un copier coller). Puis, à la suite de vos codes, copiez dans ce fichier les réponses de R. Sous Linux 1. Dans Outils, ouvrir un terminal. Dans ce terminal, ouvrir le logiciel R : tapez R, puis appuyez sur la touche Entrée. Le symbole > apparaît indiquant que R est prêt. 2. Dans Outils, ouvrir un deuxième terminal. Dans ce terminal taper : kwrite TP0.R & pour créer un fichier TP0.R. En effet, comme R ne garde pas la trace de vos calculs, tous les codes que vous tapez (et qui sont corrects) doivent (si vous voulez les sauvegarder) être recopiés dans ce fichier (grace à un copier coller). Puis, à la suite de vos codes, copiez dans ce fichier les réponses de R. Quelques rappels si vous travaillez sous Linux : pwd : pour afficher l adresse du répertoire courant cd adresse-rep : pour aller dans le répertoire dont d adresse est adresse-rep cd.. : pour aller dans le répertoire père du répertoire courant mkdir nom-rep : pour créer un répertoire de nom nom-rep kwrite nom-fichier & : pour créer un fichier de nom nom-fichier Le & sert à ne pas perdre la main. Si vous l oubliez, pour récupérer la main, taper Ctrl-Z puis bg. ls : pour avoir la liste des fichiers contenus dans le répertoire courant rm fichier : pour détruire fichier 1 Quelques fonctions utiles getwd() permet de connaître le répertoire dans lequel on travaille. setwd( chemin du répertoire ) pour se placer dans un répertoire source("script.r") exécute un fichier script. save(monobjet,file="monobjet.rdata") permet de sauver l objet monobjet sous le format R. Il est aussi possible de sauver plusieurs objets dans le même fichier. Par exemple : save(objet1,objet2,file="mesobjets.rdata"). load("mesobjets.rdata") permet de recharger des objets sauvegardés au cours d une session précédente. ls() permet de lister les object créés. Il est possible d insérer des commentaires dans le programme en les faisant précéder du caractère #.

Pour quitter R, il faut utiliser la commande q(). R pose alors la question : Save workspace image? [y/n/c].sivousrépondezy, Rsauvegardetous les objetscréés au coursdelasession. Sivousrépondez n, ces objets sont perdus. Pour continuer la session, il faut répondre par la lettre c. Au début d une session, rm(list=ls()) permet de supprimer tout ce qui a été sauvegardé lors d une ancienne session. 2 L aide Le logiciel R possède un système d aide. On y accède de plusieurs manières : en tapant? suivi du nom de la fonction en tapant help(nomdelafonction). Dans ces 2 cas R ouvre une fenètre avec les informations relatives à la fonction demandée. Taper la lettre q pour sortir de cette fenètre. Il existe également une aide au format html permettant l utilisation d un moteur de recherche; on y accède en tapant dans R help.start()qui ouvre la page d accueil de l aide de R, dans la fenêtre d un navigateur interne. 3 Les objects R Le symbole <- ou = est utilisé pour définir un object. On pourra soit taper une commande par ligne, soit taper plusieurs commandes séparées par le symbole ; sur une même ligne. Une commande peut s écrire sur plusieurs lignes, auquel cas R matérialise le début de la 2ème ligne d instructions par le symbole +. Les objets se caractérisent par un type (vecteur, matrice, tableau, liste...), un mode (numeric, character : entre guillemets, logical : TRUE ou FALSE), une taille, et un nom. Remarques : Quelque soit le mode, une valeur manquante est représentée par NA. R représente correctement les valeurs infinies avec Inf et -Inf : > 1/0 [1] Inf Les valeurs qui ne sont pas des nombres sont représentées avec NaN : > 0/0 [1] NaN 3.1 Créer des objets 3.1.1 Création d un vecteur L opérateur c() permet de concaténer des valeurs. > x <- c(2, 6, 5, 8, 1, 3, 9) Pour afficher le vecteur, taper : > x [1] 2 6 5 8 1 3 9 > x1 <- c(10, 11, 1.2) > x2 <- c(x, x1) > x2 [1] 2.0 6.0 5.0 8.0 1.0 3.0 9.0 10.0 11.0 1.2

Pour connaître la longueur d un vecteur : > length(x) [1] 7 On peut créer des vecteurs particuliers grâce à des suites régulières : > 5:12 [1] 5 6 7 8 9 10 11 12 > rep(1, times = 5) [1] 1 1 1 1 1 > rep(1:3, times = 5) [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 > rep(1:3, each = 2) [1] 1 1 2 2 3 3 La fonction seq peut générer des suites régulières de nombres de deux manières différentes : soit en lui spécifiant, le début, la fin, puis le pas (argument by) > seq(from = 1, to = 5, by = 0.5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 soit en lui spécifiant le début, la fin et le nombre d éléments (argument length) > seq(from = 1, to = 5, length = 10) [1] 1.000000 1.444444 1.888889 2.333333 2.777778 3.222222 3.666667 4.111111 [9] 4.555556 5.000000 3.1.2 Création d une matrice Pour cela on utilise la fonction matrix. Les options ncol et nrow permettent de définir les dimensions de la matrice. > M <- matrix(0, nrow = 2, ncol = 3) > M [1,] 0 0 0 [2,] 0 0 0 > M <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3) > M [1,] 1 3 5 [2,] 2 4 6

Il existe une option byrow=true qui permet de rentrer les valeurs par lignes et non par colonnes. > M <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3, byrow = TRUE) > M [1,] 1 2 3 [2,] 4 5 6 Pour connaître les dimensions d une matrice, on utilise la fonction dim (la fonction length retourne le nombre d éléments de la matrice) : > dim(m) [1] 2 3 > length(m) [1] 6 On a la possibilité d attribuer des noms aux lignes et aux colonnes d une matrice via l option dimnames (ces noms doivent être de type character). On peut aussi rajouter des lignes (fonction rbind) ou des colonnes (fonction cbind) à une matrice existante (voire concaténer des matrices). Voici un exemple : > cbind(m, c(7, 7)) [,4] [1,] 1 2 3 7 [2,] 4 5 6 7 > rbind(m, c(8, 8, 8)) [1,] 1 2 3 [2,] 4 5 6 [3,] 8 8 8 > cbind(m, M) [,4] [,5] [,6] [1,] 1 2 3 1 2 3 [2,] 4 5 6 4 5 6 Exercice 1 : 1. Entrer la matrice A = 4 5 6 4 5 6 4 5 6 2. Définir la matrice B comme étant la matrice A à laquelle on a rajouté la ligne (4,5,6). 3. Dimension de B?

3.1.3 Création d une liste Une liste est une collection d objets (non nécessairement de même type). Une liste est typiquement obtenue en sortie d une fonction R; elle se crée via la fonction list : > L1 <- list(x2, M, "character") > L1 [[1]] [1] 2.0 6.0 5.0 8.0 1.0 3.0 9.0 10.0 11.0 1.2 [[2]] [1,] 1 2 3 [2,] 4 5 6 [[3]] [1] "character" 3.2 Accéder aux données L opérateur [ ] permet d accéder aux éléments d un object. Exercice 2 : Quels sont les résultats de ces commandes? pour un vecteur x[2], x[c(2,4)], x[-1] pour une matrice M[1,3], M[,1], M[2,] pour une liste L1[[2]] 4 Les opérateurs Voici une liste non exhaustive des opérateurs les plus utilisés. opérateurs arithmétiques : +, -, *, /, ^... Exercice 3 : > x= -10:10 Que fait x^2? opérateurs de comparaison : ==, <, >, <=, >=,!=... Exercice 4 : > x= -10:10 Que fait x==0, x>0, x[x>0], x[x>=0]? calcul matriciel : M%*%N : produit de deux matrices, t(m) : transposée de M, solve(m) : matrice inverse de M solve(a,b) : résout le système linéaire Ax = b, Exercice 5 : Calculer les produits de matrices : BA, AB, AB 5 Variables aléatoires Il est très utile en statistique de pouvoir générer des variables aléatoires selon diverses lois de probabilité. R peut le faire pour un grand nombre de lois via les fonctions de la forme rfunc(n,arguments) où func indique la loi de probabilité, n est le nombre de variables à générer et arguments sont les paramètres de la loi. En voici quelques exemples :

Loi Fonction R gaussienne rnorm(n, mean=0, sd=1) uniforme runif(n, min=0, max=1) Poisson rpois(n,lambda) exponentielle rexp(n,rate) Fisher rf(n,df1,df2) > rnorm(10) [1] -0.75157644-2.35565129-1.33071892-0.05456767-0.92848883 0.40800313 [7] -0.28234690 0.66375833 0.28444159 0.51092836 > runif(10) [1] 0.6077385 0.6691179 0.6525669 0.7625093 0.9917338 0.4953014 0.8260781 0.3139854 [9] 0.3851778 0.2761697 > rexp(10, rate = 2) [1] 0.41418655 1.37691294 0.55592063 0.13576759 0.26363997 0.05933937 0.44315632 [8] 0.42241813 0.25034389 0.06175019 Les fonctions de la forme rfunc (avec func=norm ou unif...) ont toutes des petites soeurs de la forme pfunc(q,arguments) : pour la probabilité cumulée jusqu à q (i.e fonction de répartition), qfunc(p,arguments) : pour le quantile d ordre p, dfunc(x,arguments) : pour la densité de probabilité en x. Exercice 6 : 1. Soit X une VA de loi normale centrée réduite. Calculer la densité de la VA X en 0. 2. Calculer la probabilié P(X 0) 6 Graphique La fonction qui permet de tracer des graphiques est plot. Exemple : on va utiliser des données disponibles dans R : voiture=cars The data give the speed of cars and the distances taken to stop. Note that the data were recorded in the 1920s. > voiture = cars > voiture[1:4, ] speed dist 1 4 2 2 4 10 3 7 4 4 7 22 > plot(voiture[,1],voiture[,2] ) Options du graphique : xlab et ylab pour modifier le nom des axes; main pour rajouter un titre type= l pour relier les points par une ligne (par défaut : nuage de points)

lty pour jouer sur le type de ligne : par défaut lty=1 donne des lignes continues, mais on peut obtenir des tirets (lty=2), des pointillés (lty=3)... lwd pour jouer sur l épaisseur des lignes col spécifie la couleur Pour ajouter un nuage de point ou une courbe à un graphique existant (si on utilise plot, le nouveau graphe efface l ancien) : points(x,y,...) : ajoute un nuage de points, lines(x,y,...) : ajoute une nouvelle courbe Pour tracer 2 graphiques côte à côte sur une même fenêtre, on utilise par(mfrow=c(1,2)) > par(mfrow=c(1,2)) > plot(voiture[,1],voiture[,2], xlab = "Speed", ylab = "Stopping distance",col="red") > plot(voiture[,1],voiture[,2], xlab = "Speed", ylab = "Stopping distance",type=³l³, lty=3,lwd=3,col="blue") Note : Pour créer une nouvelle fenêtre graphique vide, taper la commande X11(). Sauvegarde d une figure dans un fichier pdf : pdf(file="graphe.pdf") plot(voiture[,1],voiture[,2]) dev.off() Exercice 7 : Représenter le graphe de la densité de la loi normale centrèe réduite entre 5 et 5 en lui faisant calculer 100 points. Rajouter sur le graphique (en rouge), la courbe de densité d une loi normale d espérance 2 et de variance 1. Sauvegarder ce graphe dans le format.pdf. 7 Fonctions mathématiques simples 7.1 Fonctions R prédéfinies Il existe un nombre très important de fonctions pour manipuler des données. Outre les fonctions mathématiques de base du type log, exp, cos, abs, sqrt (racine carrée), floor (partie entière)... en voici quelques-unes assez courantes : sum(x), prod(x) : somme, produit des éléments de x, min(x), max(x) : minimum, maximum des éléments de x, which.min(x), which.max(x) : indice du min, max des éléments de x, sort(x) : trie les éléments de x dans l ordre croissant, En voici d autres à connotation statistique : mean(x) : moyenne des éléments de x, median(x) : médiane des éléments de x, var(x) : variance (divisée par n-1 au lieu de n) des éléments de x, cov(x,y) : covariance (divisée par n-1 au lieu de n) entre x et y, cor(x,y) : corrélation entre x et y, hist(x) : tracer un histogramme... D autres fonctions spécifiques existent dans des bibliothèques particulières. Il faut alors appeler cellesci en utilisant la commande library. Par exemple, les fonctions de classification développées par Rousseeuw et ses collaborateurs sont contenues dans la bibliothèque cluster. Pour les utiliser, il faut donc appeler cette bibliothèque : > library(cluster)

Si la bibliothèque appelée n est pas chargée sur votre machine, R retourne un message d erreur. Pour installer un nouveau package, taper sous R : install.packages("nom_package") 7.2 Ecrire ses propres fonctions R 7.2.1 Structure générale pour une fonction : Mafonction <- function(arg1,arg2,...) { suite de commandes sortie =... return(sortie) } Attention : un seul objet en sortie, mais celui-ci peut être une liste. Exemple : fonction de (x,y) qui calcule (x+y) 2 et retourne son arrondi à 2 chiffres après la virgule : > MaFonction <- function(x, y) { + result <- (x + y)^2 + sortie <- round(result, 2) + return(sortie) + } > MaFonction(4.267, 5.334) [1] 92.18 7.2.2 Utilisation des boucles Boucle for : for (i in vecteur_valeurs) {instructions} Boucle while : while (condition) {instructions} Boucle test : if (condition) {instructions} else {instructions} Remarque : l instruction sinon n est pas obligatoire Exercice 8 : Ecrire une fonction ma.variance qui calcule l estimateur de la variance défini par : 1 n 1 n (x i x) 2 où x = 1 n i=1 n i=1 x i pour un vecteur x = (x 1,...,x n ) donné en argument. Comparer avec la fonction prédéfinie var. Exercice 9 : 1. Ecrire la fonction compte qui prend deux arguments : sequence (un vecteur de caractères) et lettre (un caractère), et qui retourne le nombre d occurrences de lettre dans sequence. Appliquer cette fonction pour trouver le nombre d occurrences de la lettre a dans la séquence biologique : sequence<-c("a","a","t","g","a","g","c","t","a","g","c","t","g") 2. Uiliser une boucle for pour obtenir la composition en (a,c,g,t) de la séquence biologique.