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 →

Si vous voulez vous assurer qu’une instruction qui n’aboutit pas ne bloque pas votre script ou encore si vous avez besoin de gérer les exceptions, vous pouvez utiliser la fonction try. rm(list=ls(all=TRUE)) # pour partir d’une mémoire viergeprint(a)# va vous renvoyer un message d’erreur… et aura bloqué votre script si vous l’aviez lancé via source() par exempletry(print(a))# vous affiche l’erreur mais ne gêne pas la suite du processustry(print(a),silent=T)# ne vous affiche même pas l’erreur Ici l’exemple donné n’a que peu d’utilité, mais ce principe de gestion des erreurs (en particulier avec tryCatch) peut vous rendre beaucoup de services dans une boucle ou autre.Read More →