LANGUAGE R GUID Réalisé par : • Jawaher CHENNAK • Tasnim MOUNIR • Karima KACI •
LANGUAGE R GUID Réalisé par : • Jawaher CHENNAK • Tasnim MOUNIR • Karima KACI • Torayya ENNAJAR • Youssra ROCHDI • Soukaina FALOUHI Encadré par : • M.MORCHADI Radouan Introduction : R est un langage de programmation et un logiciel libre dédié aux statistiques et à la science des données soutenu par la R Foundation for Statistical Computing. R fait partie de la liste des paquets GNU et est écrit en C (langage), Fortran et R. Le système R connaît depuis plus d’une décennie une progression remarquable dans ses fonctionnalités, dans la variété de ses domaines d’application ou, plus simplement, dans le nombre de ses utilisateurs. La documentation disponible suit la même tangente : plusieurs maisons d’édition proposent dans leur catalogue des ouvrages dédiés spécifiquement aux utilisations que l’on fait de R en sciences naturelles, en sciences sociales, en finance, etc. Néanmoins, peu d’ouvrages se concentrent sur l’apprentissage de R en tant que langage de programmation sous-jacent aux fonctionnalités statistiques. C’est la niche que nous tâchons d’occuper. Plan : I. Les données avec R II. Les graphiques avec R III. Les analyses statistiques avec R IV. Programmer avec R en pratique I-Les données avec R : I-1- Créer, lister et effacer les objets en mémoire : De nombreuses fonctions sont déjà stockées dans une bibliothèque localisée sur le disque dans le répertoire R_HOME/library . Le package base constitue le cœur du logiciel et contient les fonctions de base, et si l’on souhaite trouver les fonctions qui composent un package défini, il suffit de se rendre dans le répertoire afférent. Par exemple, pour le package R, il suffit de visiter le fichier R_HOME/library/base/R/base. Le symbole “>” qui apparaît en début de ligne montre que R est prêt à être utilisé. Une des commandes les plus simples consiste à afficher le contenu d’un objet en tapant tout simplement son nom. Par exemple n <- 15 > n [1] 15 > 5 -> n > n [1] 5 > n <- 3 + rnorm(1) > n [1] 2.208807 La fonction rnorm(1) génère une variable aléatoire. On peut simplement taper une expression sans assigner sa valeur a un objet, le résultat est alors afficher a l’écran mais n’est pas stocké en mémoire. (10 + 2) * 5 [1] 60 Créer une liste : > name <- "Carmen"; n1 <- 10; n2 <- 100; m <- 0.5 La fonction ls permet d’afficher une liste simple des objets en mémoire, c’est-`a-dire que seuls les noms des objets sont affichés: > ls() [1] "m" "n1" "n2" "name“ Si l’on veut lister uniquement les objets qui contiennent un caractère donné dans leur nom, on utilisera alors l’option pattern (qui peut s’abréger avec pat) : > ls(pat = "m") [1] "m" "name" Pour restreindre la liste aux objets dont le nom commence par le caractère en question : > ls(pat = "^m") [1] "m" La fonction ls.str affiche des détails sur les objets en mémoire : > ls.str() m : num 0.5 n1 : num 10 n2 : num 100 name : chr "Carmen" Une autre option utile de ls.str est max.level qui spécifie le niveau de détails de l’affichage des objets composites. Par défaut, ls.str affiche les détails de tous les objets contenus en mémoire, ce qui peut faire un affichage très long. On évite d’afficher tous les détails avec l’option max.level = -1 : > M <- data frame(n1, n2, m) > ls.str(pat = "M") M : ‘data frame’: 1 obs. of 3 variables: $ n1: num 10 $ n2: num 10 $ m : num 0.5 > ls.str(pat="M", max.level=-1) M : ‘data frame’ : 1 obs. of 3 variables: Pour effacer des objets de la mémoire, on utilise la fonction rm : rm(x) pour effacer l’objet x, rm(x, y) pour effacer les objets x et y, rm(list=ls()) pour effacer tous les objets en mémoire; on pourra ensuite utiliser les mêmes options citées pour ls() pour effacer sélectivement certains objets: rm(list=ls(pat = "^m")). I-2- Des instructions sur les objets : > x <- 1 >mode(x) [1] ‘‘numeric’’ > length(x) [1] 1 Les valeurs manquantes sont toujours représentées par la chaîne de caractères NA. D’autre part, R représente correctement les valeurs infinies (Inf et -Inf) et celles qui ne sont pas des nombres (NaN), par exemple: > x <- 5/0 > x [1] Inf > exp(x) [1] Inf > exp(-x) [1] 0 I-3- Lecture et enregistrement de données : Il est possible de créer des données directement dans R, mais il est aussi possible d’en importer comme d’en exporter. La commande getwd() permet de savoir le répertoire où l’on se trouve. S’il s’avère nécessaire d’en changer, setwd peut nous y aider par exemple : setwd(home/christinet/R) : permet d’accéder au répertoire R du dossier « christinet ». a) Lecture de données : Les fonctions read.table, scan et read.fwf permettent d’accéder à des données stockées dans des fichiers de type ASCII. La fonction read.table permet de lire très facilement un fichier de donner. Par exemple : > messonnees<- read.table(‘‘mesdonnees.txt’’) crée un tableau de données nommé “mesdonnees” et les variables sont, par défaut, nommées V1, V2, . . .. Pour accéder à ces dernières, il suffit de taper mesdonnees$V1 ou mesdonnees[“V1”] ou encore mesdonnees[,1]. En ce qui concerne la fonction scan, elle offre un peu plus de flexibilité puisqu’elle permet, entre autre, de spécifier le mode des variables. Elle permet également de créer différents objets grâce à l’option what. Par exemple : > mesdonnees2 <-scan(‘‘mesdonnees.txt’’,what=list(‘‘ ’’,0,0)) b) Enregistrement de données : La façon la plus simple d’écrire des données créées dans R dans un fichier consiste à utiliser la fonction write. La syntaxe par défaut : write(x,file=“donnees.txt”) permet de stocker l’objet x (un vecteur, une matrice ou un tableau) dans le fichier donnees.txt. Pour enregistrer les données correctement, utiliser l’option ncol. utiliser la commande save pour enregistrement d’objets Il est préférable d’utiliser le format d’enregistrement ASCII en utilisant option ascii=TRUE pour charger les données, on pourra taper ultérieurement load(nomdufichier). I-4- Création de données : Pour créer une séquence de données régulières à partir de la valeur a et par pas de 1 à b : > a:b Si le pas diffère de 1, la commande à utiliser est seq dont la syntaxe : > seq(a,b,p) où a est la valeur de départ, b la valeur maximale et p le pas. Il se peut que la valeur b ne soit jamais atteinte. Ou on peut écrire simplement D’autres fonctions sont également disponibles telles : • rep qui permet de répéter un objet un certain nombre de fois ; • sequence qui crée une suie de séquences de nombres entiers se terminant chacune par les valeurs spécifiées en argument ; • gl(k,n) qui génère une série régulière dans un facteur comprenant k niveaux et n répétitions. I-5- Les données aléatoires: En statistique, pour pouvoir générer des données aléatoires, il suffit d’utiliser les fonctions : rfunc(n,p1,p2, . . .) où func désigne la loi de > c(n_1,n_2,n_3) probabilité, n le nombre de données à générer et p1, p2, . . ., les paramètres de la loi. Voici un tableau qui fait apparaître la dénomination et les paramètres de certaines lois : Afin d’obtenir la densité de probabilité, on utilise dfunc en lieu et place de rfunc. En ce qui concerne la densité de probabilité cumulée, ce sera pfunc et qfunc pour la valeur du quantile. I-6- Manipulation des objets : Vecteur : La commande vector, qui comprend deux arguments (mode et length), crée un vecteur composé de 0 si le vecteur est numérique, FALSE s’il est logique et “ ” s’il s’agit d’un caractère. Facteur : Le codage d’une variable catégorielle fait appel à la commande factor qui inclue les valeurs de la variables mais aussi toutes les modalités possibles. > factor(1:7) [1] 1 2 3 4 5 6 7 Levels 1 2 3 4 5 6 7 > factor(1:7;levels=1:10) [1] 1 2 3 4 5 6 7 Levels 1 2 3 4 5 6 7 8 9 10 > factor(1:4;levels=c(‘‘A’’,‘‘B’’,‘‘F’’,‘‘G’’) [1] A B F G Levels A B F G La commende levels permet d’indiquer les modalités d’une variable dans le cas présent. Matrice : Pour les matrices la “longueur” associée à une matrice comprend deux informations, celle relative au nombre de lignes et la seconde au nombre de colonnes. Cette information est alors donnée à R sous la forme : > matrix(data=NA,nrow=l;ncol=j) x <- 1:10 > matrix(data=x, ncol=5,nrow=2,byrow=TRUE) [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 > matrix(data=x, ncol=5,nrow=2,byrow=FALSE) [,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10 Data frame : Un data.frame est un objet implicitement crée lors du recours à la commande read.table. On peut fabriquer un tel objet de manière explicite au moyen de read.table comme ci-suit : > x <- 1: > y <- 1:3 > z <- c(1,7) > t <- 3 > data.frame(x,t) [x] [t] 1 1 3 2 2 3 3 3 3 4 4 uploads/Science et Technologie/ guide-langage-r 1 .pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 01, 2021
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 1.0120MB