Les packages contiennent un certain nombre de fonctions. Il peut être intéressant de voir comment elles sont codées, pour les comprendre ou les améliorer par exemple. #il suffit de taper son nomlm  # affiche le code source de la fontion lmpage(lm) # affiche une nouvelle fenêtre avec le code source bien mis en forme (avec indentation)dput(lm, control = « useSource ») # permet de voir les commentaires s’il y en a, en pratique page utilise dputpage(lm, control = « useSource ») # cela fonctionne donc aussi.Read More →

Les packages contiennent un certain nombre de fonctions. Il peut être intéressant de voir comment elles sont codées, pour les comprendre ou les améliorer par exemple. #il suffit de taper son nomlm  # affiche le code source de la fontion lmpage(lm) # affiche une nouvelle fenêtre avec le code source bien mis en forme (avec indentation)dput(lm, control = "useSource") # permet de voir les commentaires s’il y en a, en pratique page utilise dputpage(lm, control = "useSource") # cela fonctionne donc aussi.Read More →

R nous donne la possibilité, très pratique, de créer des fonctions personnalisées.Voici l’architecture globale : nomdemafonction<-function(variable1,variable2…){#ici on met le contenu de la fonction (généralement on effectue des transformations aux variables passées en argument)return(Variabledesortie)# il s’agit du résultat que va renvoyer la fonction}#une fois la fonction créée on peut l’utiliser: nomdemafonction(varA,varB) Contrairement à d’autres languages, il n ‘y a pas de contrôle du type de variable que l’on peut utiliser. Il faudra l’inclure dans la fonction pour, par exemple, vérifier que la variable A est bien un vecteur (et pas un data.frame par exemple) Voici un exemple de fonction, il s’agit d’une fonction simple qui vaRead More →

R nous donne la possibilité, très pratique, de créer des fonctions personnalisées.Voici l’architecture globale : nomdemafonction<-function(variable1,variable2…){#ici on met le contenu de la fonction (généralement on effectue des transformations aux variables passées en argument)return(Variabledesortie)# il s’agit du résultat que va renvoyer la fonction}#une fois la fonction créée on peut l’utiliser: nomdemafonction(varA,varB) Contrairement à d’autres languages, il n ‘y a pas de contrôle du type de variable que l’on peut utiliser. Il faudra l’inclure dans la fonction pour, par exemple, vérifier que la variable A est bien un vecteur (et pas un data.frame par exemple) Voici un exemple de fonction, il s’agit d’une fonction simple qui vaRead More →

Le couple save et load a l’inconvénient de forcer le nom de l’objet que vous voulez charger.Exemple : si vous avez enregistré la variable "a" qui vaut 3 grace à save, load vous donnera une variable "a" qui vaut 3, mais vous n’allez pas pouvoir charger cette variable dans un autre objet, et cela écrasera votre variable "a" d’origine. rm(list=ls(all=TRUE)) a<-5 save(a,file="fichier") a<-3 load("fichier") a # a vaut maintenant 5 , et avec load et save il n’est pas possible de charger ce 5 dans une autre variable pour "sauvegarder" votre 3 dput et dget permettent de stocker un objet dans un fichier et deRead More →

Le couple save et load a l’inconvénient de forcer le nom de l’objet que vous voulez charger.Exemple : si vous avez enregistré la variable « a » qui vaut 3 grace à save, load vous donnera une variable « a » qui vaut 3, mais vous n’allez pas pouvoir charger cette variable dans un autre objet, et cela écrasera votre variable « a » d’origine. rm(list=ls(all=TRUE)) a<-5 save(a,file= »fichier ») a<-3 load(« fichier ») a # a vaut maintenant 5 , et avec load et save il n’est pas possible de charger ce 5 dans une autre variable pour « sauvegarder » votre 3 dput et dget permettent de stocker un objet dans un fichier et deRead More →

Le test de Shapiro-Wilk teste l’hypothèse nulle selon laquelle l’échantillon est issu d’une population normalement distribuée. Si la p-value est inférieure au niveau alpha fixé (souvent 0.05) alors on rejette l’hypothèse nulle et on en conclut que l’échantillon est issu d’une population qui n’est pas normalement distribuée. Voici un exemple avec R : #on simule des échantillons#d issu d’une loi normaled<-rnorm(100, mean = 5, sd = 3)#e issu d’une loi uniformee<-runif(100, min = 2, max = 4)# on réalise un test de shapiroshapiro.test(d)qqnorm(d) #p=0.35 on ne rejette pas l’hypothèse et on vérifie avec un QQplotshapiro.test(e)qqnorm(e) # p=0.00036 on rejette l’hypothèse et on vérifie avec unRead More →

Le test de Shapiro-Wilk teste l’hypothèse nulle selon laquelle l’échantillon est issu d’une population normalement distribuée. Si la p-value est inférieure au niveau alpha fixé (souvent 0.05) alors on rejette l’hypothèse nulle et on en conclut que l’échantillon est issu d’une population qui n’est pas normalement distribuée. Voici un exemple avec R : #on simule des échantillons#d issu d’une loi normaled<-rnorm(100, mean = 5, sd = 3)#e issu d’une loi uniformee<-runif(100, min = 2, max = 4)# on réalise un test de shapiroshapiro.test(d)qqnorm(d) #p=0.35 on ne rejette pas l’hypothèse et on vérifie avec un QQplotshapiro.test(e)qqnorm(e) # p=0.00036 on rejette l’hypothèse et on vérifie avec unRead More →

La fonction « by » est très intéressante pour éviter des boucles « for » et ainsi optimiser le code data(iris)summary(iris)by(iris[,-5],iris[,5],mean)  ou encore quant vous voulez effectuer une fonction qui n’est pas définie. by(iris[,-5],iris[,5],function(ob){#mettez ici l’opération que vous voulez faire sur le subsetreturn()})  Le problème peut être que by retourne une liste et que l’on voudrait avoir un tableau de données. C’est ce que fait la fonction do.call, elle prend une liste et effectue une action dessus (ici rbind). data(iris)summary(iris)do.call(rbind,by(iris[,-5],iris[,5],mean) )Read More →

La fonction "by" est très intéressante pour éviter des boucles "for" et ainsi optimiser le code data(iris)summary(iris)by(iris[,-5],iris[,5],mean)  ou encore quant vous voulez effectuer une fonction qui n’est pas définie. by(iris[,-5],iris[,5],function(ob){#mettez ici l’opération que vous voulez faire sur le subsetreturn()})  Le problème peut être que by retourne une liste et que l’on voudrait avoir un tableau de données. C’est ce que fait la fonction do.call, elle prend une liste et effectue une action dessus (ici rbind). data(iris)summary(iris)do.call(rbind,by(iris[,-5],iris[,5],mean) )Read More →