Issu du package magrittr et disponible dans le tidyverse, le pipe vous permet de passer de : library(tidyverse) data(« population ») head(summarise(group_by(filter(population, year > 1999),country),moyenne = mean(population))) à population %>% filter(year > 1999) %>% group_by(country) %>% summarise(moyenne = mean(population)) %>% head() Plus clair, n’est-ce pas ! Alors, comment ça marche ? C’est très simple : l’élément à gauche de %>% se retrouve en premier argument de la fonction à droite. Autrement dit, f(x,y) s’écrit x %>% f(y). Comment faire si l’élément de gauche n’est pas le premier argument de celui de droite ? Vous pouvez y faire référence en le remplaçant par un point : list(c(1,2,3), c(4,5,6),Read More →

Le tidyverse fait référence à l’ensemble des packages qui partagent la philosophie « tidy », et qui ont été pensés pour fonctionner les uns avec les autres. Pour installer la version stable depuis le CRAN : install.packages(« tidyverse ») Quant à la version en développement, vous pouvez l’installer avec :  devtools::install_github(« hadley/tidyverse ») Ensuite, vous pouvez charger les différents packages, en utilisant la méthode classique : library(« tidyverse ») Pour la petite histoire, le tidyverse s’appelait autrefois le hadleyverse ! Plus d’infos : Bienvenue dans le tidyverse (http://www.thinkr.fr/tidyverse-hadleyverse/).  Read More →

Vous avez trouvé un package qui vous plait sur Github ? Pour l’installer sur votre machine, vous aurez besoin du package devtools. install.packages(« devtools ») Ensuite, direction install_github(). Cette fonction prend un argument principale : entre guillemets, « username/repo ». library(« devtools »)install_github(« ThinkRstat/prenoms ») Vous pouvez également utiliser :  devtools::install_github(« ThinkRstat/prenoms ») C’est d’ailleurs ce raccourci que vous trouverez dans la plupart des README sur GitHub !Read More →

Package de dataviz du tidyverse, ggplot2 est l’incontournable R pour la visualisation de données. La force de ce module ? ggplot2 repose sur une « grammaire graphique ». Pour plus d’infos sur cette philosophie, rendez-vous sur les liens en bas de page. Construisons pas à pas un ggplot. 1. Installation install.packages(« ggplot2 »)#Ou pour la version en développement :devtools::install_github(« tidyverse/ggplot2 ») 2. Ouverture library(« ggplot2″) 3. Couche 1 : « data & aesthetics » Avec cette première ligne, il s’agit tout simplement d’indiquer l’objet contenant le jeu de données, et les variables qui vont être visualisées en x, en y, ou avec les couleurs, les tailles… ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = SpeciesRead More →

Avec ce package du tidyverse, vous pouvez filtrer votre jeu de données pour ne retenir que les valeurs qui vous intéressent, grâce à la fonction filter(). Cette fonction prend en paramètres votre objet contenant un tableau de données, puis une ou plusieurs variable(s) avec leurs filtres. Vous pouvez utiliser tous les opérateurs classiques (==, !=, >, <, etc.) data(women)women %>% filter(height == 59)women %>% filter(height > 59 & weight < 139) Vous pouvez également « piper » vos filtres. Utile pour une meilleure lisibilité, si vous voulez combiner beaucoup de conditions (mais vous aurez plus de ligne  : women %>% filter(height > 59) %>% filter(weight < 139)Read More →

Avec R, il est tout à fait possible de réaliser une multiple importation des fichiers CSV (autres types de fichiers). La fonction ci-dessous utilise les fonctions bind_rows et la syntaxe de la librairie dplyr. multmerge <- function(mypath = getwd()){ require(dplyr) dataset <- list.files(path=mypath, full.names=TRUE, pattern= »\.csv ») %>% lapply(read.csv, header=TRUE, sep= »t ») %>% bind_rows() dataset } Dans cette fonction, l’objet mypath indique l’emplacement où se trouve tous les fichiers CSV. Par défaut, la fonction va chercher dans l’espace de travail actuel (getwd). Il est possible de le modifier manuel comme ci-dessous:  mydata <-  multmerge(mypath= »Nom/Du/Chemin/Des/Fichiers »)Read More →

Afin d’utiliser des processus aléatoires mais de faire en sorte qu’ils soient reproductibles dans le temps ou sur une autre machine/système set.seed() est une fonction qui permet de fixer les résultats qui seront fournis par le RNG (random number generator). sample(letters[4:9]) [1] « d » « g » « f » « h » « i » « e » sample(letters[4:9]) [1] « e » « i » « g » « f » « h » « d » sample(letters[4:9]) [1] « f » « d » « e » « h » « i » « g »set.seed(123)sample(letters[4:9]) [1] « e » « g » « i » « f » « h » « d » set.seed(123) sample(letters[4:9]) [1] « e » « g » « i » « f » « h » « d » Comment choisir le chiffre à mettre dans la fonction set.seed ? Au hasard ! 😉Read More →