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 →

Une variable globale est une variable qui sera accessible partout dans R. C’est-à-dire même quand vous sourcez un fichier, peu importe votre espace de nom. Il n’est pas très propre d’utiliser cette méthode, mais cela peut rendre service. varglob <<- 4 # est une variable globalevarpasglob <- 4# n’est pas globaleRead 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 →

Save et load permettent respectivement de sauvegarder dans un fichier et de restaurer des objets R.En pratique save et load servent tout particulièrement  à enregistrer un environnement de travail. rm(list=ls(all=TRUE)) ls()# la mémoire est vide a<-5 data(iris) b<- matrix(5,5,5) save(a,b,iris,file= »fichier ») # il faut bien penser à préciser le file= rm(list=ls(all=TRUE)) ls()# la mémoire est vide load(« fichier ») ls() # on a retrouvé a , b et iris Attention les objets chargés, s’il ont le même nom qu’un objet existant prendront leur place, effaçant l’objet déjà présent : rm(list=ls(all=TRUE)) a<-5 save(a,file= »fichier ») a<-3 load(« fichier ») a # a vaut maintenant 5Read More →

data(iris)dim(iris) # ce jeu de données contient 5 colonnes et 150 lignes Pour sélectionner une colonne ou une ligne on peut utiliser son rang ( 1er colonne, 2eme colonne…). iris[,1] #on sélectionne la colonne 1, c’est-à-dire la première colonne iris[,3] #on sélectionne la colonne 3 iris[,2:3] #on sélectionne les colonnes 2 et 3 iris[,c(5,2)] #on sélectionne les colonnes 5 et 2 dans cet ordre iris[1,] #on sélectionne la ligne 1 iris[3,] #on sélectionne la ligne 3 iris[2:3,] #on sélectionne les lignes 2 et 3 iris[c(5,2),] #on sélectionne les lignes 5 et 2 dans cet ordre Si on ne sélectionne qu’une seule ligne ou colonne, celaRead More →

Les boxplots mettent parfois en évidence des individus qu’on peut qualifier d’atypiques ou outliers. Un fois mis en évidence graphiquement on peut les repérer et si nécessaire les enlever. #on crée un jeu de donnée b1<-c(0.1, 0.2,6,5,5,6,7,8,8,9,9,9,10,10,25)#on trace le boxplotboxplot(b1) #il y a 3 outliers #on met le boxplot dans un objet boxbox<-boxplot(b1)boxplot(b1)#box$out donne les outliers#on crée des nouvelles données sans les outliersb2<-b1[-which(b1%in%box$out)]#on vérifieboxplot(b2)Read More →

Le test de Kolmogorov-Smirnov est un test d’hypothèse utilisé pour décider si un échantillon suit une loi de probabilité donnée ou si deux échantillons suivent la même loi. Sous R on peut réaliser ce test avec la fonction ks.test() #on crée des échantillonsa<-rnorm(100,mean=0,sd=1)b<-rgamma(100,shape=1,rate=0.8)c<-rnorm(50,mean=0,sd=1)#a et b proviennent-ils de la même loi?ks.test(a,b)#p=7.5e-11 on rejette l’hypothèse nulle#a et c?ks.test(a,c)#p=0.35 on accepte l’hypothèse nulle#a provient-il d’une loi gamma avec 3 comme paramètre de forme et 2 pour le taux?ks.test(a, »pgamma »,3,2)#p value très faible on rejette l’hypothèse#a provient-il d’une loi normale?ks.test(a, »pnorm »)#p=0.13 on accepte l’hypothèse Comme pour tous les tests, faites bien attention à ce que veut réellement dire ce test, prenezRead 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 →