Pour éviter de se tromper dans l’ordre où les paramètres sont passés à une fonction, il vaut mieux les nommer. Ainsi l’ordre n’importera pas. Cela permet en plus de passer une valeur par défaut. essai<-function(par1=3, par2=20) {print(par1)print(par2)}essai()#[1] 3#[1] 20essai(1,2)#[1] 1#[1] 2essai(par1=1)#[1] 1#[1] 20essai(par2=10)#[1] 3#[1] 10essai(par2=10, par1=4)#[1] 4#[1] 10Read More →

La fonction paste permet de « coller » des chaînes de caractères, cela peut être utile pour plein de chose : définir le nom d’un fichier de sortie, écrire une formule pour un modele… a<-« coucou »b<-« comment vas-tu? »paste(a,b)# coucou comment vas-tu? paste(a,b,sep= »+ ») #  coucou+comment vas-tu? # le paramètre sep permet de définir le caractère utilisé pour concaténer les chaînes de caractèresRead More →

Lorsque l’on est face à un jeux de données, il peut être pratique d’en avoir une vue d’ensemble : de savoir si les variables sont quali ou quanti, de connaître les niveaux des facteurs etc… Exemple : on va créer un data.frame avec du quantitatif et du qualitatif x<-c(1,4,5,9) y<-c(« bleu », »bleu », »rouge », »noir ») data<-data.frame(x,y) str(data) La fonction str() renvoie le nombre d’observations du jeu de données, dresse la typologie de chaque variable (facteur/numérique/intervalle) et donne les premiers éléments. Quand il s’agit de facteurs, elle donne également le nombre de modalités.Read More →

Lorsque vous avez beaucoup de fonctions dans un fichier, vous pouvez les charger en faisant un copier-coller dans la console ou en faisant ctrl+R après avoir sélectionné vos fonctions (pour windows). Mais ce n’est pas très pratique et surtout c’est souvent assez long. Je vous propose d’utiliser la fonction source. Cette fonction va interpréter ce qui se trouve dans un fichier.Concrètement, vous mettez vos fonctions et autres scripts a interpréter dans un fichier « function.R » ‘ (qui n’est rien d’autre qu’un fichier texte), vous l’enregistrez sur votre disque dur (dans votre espace de travail c’est le plus simple… l’important est de savoir ou il est). PuisRead More →

R va accumuler en mémoire un certain nombre d’objets (listes, vecteurs, fonctions…) Si vous voulez tous les effacer pour repartir d’une mémoire vierge (au lancement d’un script par exemple), vous pouvez utiliser cette commande :  rm(list=ls())   En pratique, la fonction rm vous permet d’effacer l’objet de votre choix   a<-5a#[1] 5rm(a)a#Error: object ‘a’ not foundRead More →

Pour comparer 2 moyennes, vous pouvez utiliser le test de student. On se place dans le cas où l’on a deux séries de valeurs dont on veut comparer la moyenne.Les conditions pour utiliser ce test sont en pratique très peu contraignantes et il n’est pas vraiment nécessaire de s’embêter avec la normalités des données car : le test de student est très robuste à la non normalité des données dès que l’on a plus de 30 individus (n peut même descendre à 15), on a toujours quelque chose qui suit (plus ou moins) une loi normale les tests de normalité sont très très peu puissantsRead More →

Il peut être pratique parfois de créer un facteur  correspondant à l’interaction de 2 facteurs. Pour cela vous pouvez utiliser tout simplement la fonction interaction() x=letters[rep(seq(from=1,to=5,by=1),rep(5,5))]y=rep(seq(from=1,to=5,by=1),5)interaction(x,y,sep= »_ »)#où sep est le séparateur entre les deux charactèresRead More →

R est un langage itératif, c’est a dire que le logiciel va interpréter une ligne de code après l’autre.Pour gagner de la place, on peut vouloir écrire une série d’opérations sur une seule ligne. On perd en lisibilité, mais pour les choses simples cela peut être pratique. rm(list=ls(all=TRUE))a<-5b<-7# peut s’écrire sur une ligne grace au séparateur ;rm(list=ls(all=TRUE));a<-5;b<-7 # pour les boucles for while ou les if, on peut compresser comme cela x<-10for ( i in 1:10){print(i)x<-x*iprint(x)print(« coucou »)} # s’écrit en une lignex<-10;for ( i in 1:10){print(i);x<-x*i;print(x);print(« coucou »)}  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 →