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 →

R peut tracer la courbe d’une fonction f(x) pour peu qu’on connaisse sa formule et qu’on lui fixe des bornes.  curve(expr=1/(sqrt(2*pi)*0.3)*exp(-((x-0)^2/(2*0.3^2))), from=-1.5, to= 1.5) La fonction curve() prend (entre autres) comme argument expr (l’expression de la fonction, ici la densité de probabilité de la loi normale), from (la borne inférieure de l’intervalle à tracer) et to (la borne supérieure de l’intervalle à tracer) Par défaut curve() utilise un paramètre n fixé à 101 : c’est le nombre de x compris entre from et to qui seront évalués par l’expression renseignée dans expr. Plus n est petit, plus la courbe sera « anguleuse »Read More →

La fonction PCA() permet d’effectuer une ACP. library(FactoMineR) res_pca <- PCA (iris, quali.sup=5) #On réalise une ACP sur les 4 variables quantitatives du jeu de données iris #La 5ème variable qui correspond au nom de la variété est qualitative #Nous plaçons cette variable en supplémentaire, #cette variable ne participera donc pas à la construction de l’ACP, #mais elle apportera de l’information supplémentaire   plot.PCA(res_pca,col.quali= »blue », label= »quali ») #La fonction plot.PCA contient de nombreux paramètres modulables #ici nous choisissons la couleur de la variable qualitative #et de cacher l’étiquette des individus grâce au paramètre « label »   Pour pouvoir décrire les résultats de cette analyse nous avons besoin d’étudierRead More →

Contrairement à la fonction residuals(), la fonction rstudent() permet d’obtenir des résidus de même variance. Ce critère est nécessaire pour pouvoir étudier et comparer les résidus. reg_simp <- lm(Sepal.Length~Petal.Length, data=iris) #On réalise une régréssion linéaire   residus=rstudent(reg_simp) #On calcule les residus   plot(residus, ylab= »Résidus ») #On represente les résidus dans un graphique   abline(h=c(-2,0,2), lty=c(2,1,2)) #La fonction abline permet d’ajouter des droites d’ordonnées -2, 0 et 2 En théorie, 95% des résidus se trouvent dans l’intervalle [-2,2]. C’est le cas ici puisque seulement 4 individus sur 150 sont en dehors de cet intervalle. Les individus à l’extérieur de l’intervalle sont des individus extrêmes.   Read More →

La régression linéaire simple permet de modéliser une relation linéaire entre deux variables quantitatives dans le but d’expliquer un phénomène ou de le prédire. #On commence par représenter les données : plot(Sepal.Length~Petal.Length, data=iris) #On constate que la relation entre la largeur des sépales et celle des pétales semble être linéaire   #On estime les paramètres : Reg.simp <- lm(Sepal.Length~Petal.Length, data=iris)   #Call: #lm(formula = Sepal.Length ~ Petal.Length, data = iris)   #Residuals: #     Min       1Q   Median       3Q      Max #-1.24675 -0.29657 -0.01515  0.27676  1.00269   #Coefficients: #             Estimate Std. Error t value Pr(>|t|)    #(Intercept)   4.30660    0.07839   54.94   <2e-16 *** #Petal.Length  0.40892    0.01889   21.65   <2e-16 *** #— #Signif. codes: Read More →