Parfois on peut être ammené à vouloir lire le code source d’une fonction.(pour s’en inspirer, la comprendre ou la modifier)Mais il est possible que ce code ne soit pas directement accessible, et il peut etre laborieux de le retrouver. La fonction getAnywhere fait le travail pour nous. Exemple comment voir le code source de la fonction print.surfit du package survival library(survival)print.survfit # introuvable survival::print.survfit  #ne fonctionne pasgetAnywhere(print.survfit) # eureka Fonction à avoir sous le coude…Read More →

Je viens de découvrir la fonction ave.. il s’agit d’une fonction extremement rapide qui permet de calculer une moyenne (ou autre chose..) par groupe. elle est trés efficace par rapport à des combinaisons de by et autres do.call # mettons nous dans un cas ou nous voulons calculer le score moyenne des hommes d’une part , et des femme d’autre part data<-data.frame(cbind(c(rep(« homme »,4),rep(« femme »,5)),c(1:4,3:7)))names(data)<-c(« genre », »score »)data$score<-as.numeric(data$score)dataattach(data)cbind(data,ave(score,genre)) L’efficacité d’ave se retrouve surtout sur les tres gos jeux de données…Read More →

R intégre e natif tout ce qu’il faut pour réaliser un test de khi2 vous pouvez utilser la fonction chisq.testPrenons un cas courant de comparaison de deux variables qualitative : on veut savoir s’il existe une différence d’incidence dans un groupe donnée entre les hommes et le femmes pour une maladie donnée. 50 hommes dont 15 malades70 femmes dont 20 malades mat<-matrix(c(15,35,20,50), 2, 2, byrow=TRUE) chisq.test(mat) dans le cas présent on a une p.value de 0,97, on ne peut donc vraiment pas rejeter l’hypothese d’equivalence entre les hommes et les femmes.Read More →

Considérons un exemplela masse des larves de papillons varie avec la température et de la nourriture (plante)Pour tracer un barplot avec les barres d’erreur de ces deux facteurs : attach(data)mean.mass<-tapply(mass,list(T,H),mean)       # calcul de la moyenne pour chaque groupe sd<-tapply(mass,list(T,H),sd)                         # ou T est le facteur Température et H le facteur plantelength<-tapply(DTp,list(T,H),length)sqrt<-sqrt(length)length<-as.numeric(length)se<-sd/sqrt                                                   #calcul de l’erreur standard pour chaque groupegraphemass<-barplot(mean.mass,beside=TRUE,density=c(0,30),col=1,ylim=c(0,15.2),font=3,ylab= »masse (mg) »,)library(nmle)                                                #nécessaire pour appeler la fonction « segments » segments(graphemass, mean.mass -se,graphemass, mean.mass +se)       segments(graphemass-0.1, mean.mass -se,graphemass+0.1, mean.mass -se)segments(graphemass-0.1, mean.mass +se,graphemass+0.1, mean.mass +se)]Read More →

La fonction sample permet de tirer, avec ou sans remise, un certain nombre d’éléments dans un vecteur. sample(1:10,1) # on tire une valeur au hasard entre 1 et 10 sample(1:10,3) # on en tire 3 sample(1:10,10)# on en tire 10.. en pratique on mélange les 10 éléments sample(1:10,3,replace = T)# on en tire 3 parmi 10.. avec remise ( on peut très bien avoir c(7,7,2) ) On peut aussi noter le paramètre prob qui permet de définir la probabilité de chaque élément d’être tiré au hasard.Read More →

R n’aime pas les boucles: c’est long, parfois ca plante..mais surtout c’est long :). Une des fonctions qu’il faut absolument maîtriser est apply. Elle permet de réaliser en parallèle la même opération sur toutes les lignes/ toutes les colonnes d’une matrice ou d ‘un jeu de données. Pour utiliser apply, il faut créer une fonction qui prend en paramètre un vecteur et qui nous ressort une transformation de ce vecteur. que ce vecteur soit de la forme qu’une ligne ou qu’une colonne de notre jeu de données (prendre en compte les variables quali, l’ordre des variables..) lancer apply sur son jeu de données, en précisantRead More →

Par défaut, R n’utilise qu’une seule fenêtre graphique. Il efface alors les anciens graphiques quand on en génère un nouveau. Il faut utiliser x11() pour ouvrir une nouvelle fenêtre data(iris)plot(iris)x11()plot(1:10) Sous windows avec l’interface graphique par défaut, le nombre de fenêtres simultanées est limité a 65. Il faut donc faire attention.Read More →