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 →

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 →

jdd <- data.frame(deslettres=letters[1:10],                   desnombres=seq(1:10),                   desfacteurs=c(rep(« oui »,5), rep(« non », 5))) levels(jdd$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # il y a 10 niveaux pour la variable qualitative « deslettres » # en filtrant sur les nombres…. library(dplyr) unextrait<-filter(jdd,desnombres > 5) levels(unextrait$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # …le nouveau jeu de données garde les anciens noms de niveaux de « deslettres » Pour s’en débarrasser, depuis R 2.12.0, la fonction droplevels() rend cette opération aisée… # …sur tout le jeu de données :  droplevels(unextrait) summary(unextrait) # …sur une variable en particulier : droplevels(unextrait$deslettres) summary(unextrait) # …sur tout le jeuRead 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 →