Le diagramme Quantile-Quantile est un outil graphique qui permet de comparer la pertinence de l’ajustement de données à un modèle théorique (loi de probabilité). Cela peut se révéler très pratique pour analyser la normalité des résidus d’un modèle linéaire par exemple. Cet outil permet également de comparer deux distributions : un alignement selon la première bissectrice indique la présence d’une identité de loi. R présente des fonctions de bases permettant de tracer des QQplot : qqplot produit un QQplot de deux jeux de donnéesqqnorm produit un QQplot pour une loi normaleqqline trace la droite de Henry Voyons un exemple d’utilisation #nombres aléatoires tirés d’une loi#normaleRead More →

find(nom_fonction) # renvoie le nom du package dans lequel se trouve la fonctionapropos(nom_fonction) # renvoie un vecteur de caractères avec le nom de toutes les fonctions en lien avec la premièredemo(graphics)# propose une démonstration de l’utilisation des graphiques avec les codes et les graphiques associés. A la place de graphics on peut également écrire persp, plotmath…objects(grep(« library »,search())) # liste toutes les fonctions présentes dans la librairieRead More →

La commande ci-dessous vous retourne la liste des paramètres graphiques et leur valeur trellis.par.get() Pour changer un paramètre, par example axis.text, la commande est la suivante taille<- trellis.par.get(« axis.text ») # extraction du paramètre taille$cex <-5   # changement de sa valeur trellis.par.set(« axis.text », taille) # sauvegarde de la nouvelle valeur  Read More →

Ceci est une liste non exhaustive des paramètres graphiques de la library graphique de base. par() # fonction des paramètres graphiquespar(mar=c(1,1,1,1)) #changer la taille de la marge (bas, gauche, haut, droite)par(oma=c(1,1,1,1)) #changer la taille de la marge extérieure (bas, gauche, haut, droite) par(las=2) #changer l’orientation du texte 0 : toujours parallèle à l’axe [default], 1 : toujours horizontal, 2 : toujours perpendiculaire, 3 : toujours verticalpar(font=1)  #la police à utiliser 1 : normal, 2 : gras , 3 : italiquepar(cex) #la taille du texte Pour plus d’infos, n’oubliez pas ?parRead 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 →

R possède de nombreuses fonctions de base souvent bien utiles, en voici quelques unes. On crée deux vecteurs : a<-c(1,2,3,4,5,6,7,8,9,10)b<-c(11,12,13,14,15,16,17,18,19,20) Longueur des vecteurs : length(a)length(b) Minimum et maximum : min(a)min(b)max(a)max(b) Etendue : range(a)range(b) Moyenne et médiane : mean(a)mean(b)median(a)median(b) Quantile et écart inter-quantile : quantile(a)quantile(b)IQR(a)IQR(b) Variance et écart-type : var(a)var(b)sd(a)sd(b) Concaténation de a et b : c<-c(a,b)cd<-c(b,a)d Somme des éléments du vecteur, produit, différence des éléments consécutifs du vecteur, somme cummulée : v<-c(1,2,3,4)sum(v) #1+2+3+4prod(v) #1*2*3*4diff(v) #2-1,3-2,4-3cumsum(v) #1, 1+2, 1+2+3, 1+2+3+4Read More →

Vous voulez représenter vos données avec la boîte à moustache de Mr Tukey (boxplot)? Rien de plus facile avec R. #jeu de données fictif pour exemplea<-c(1,1,1,5,5,5,5,6,6,8,8,20,30)b<-c(0.5,4,5,6,6,6,6,6,7,7,7,7,8)#traçons les boxplots de base avec la fonction boxplotboxplot(a)boxplot(b)#on enlève les outliers, en mettant outline=FALSEboxplot(a,outline=FALSE)boxplot(b,outline=FALSE)#pour les mettre à l’horizontalboxplot(a,horizontal=TRUE)boxplot(b,horizontal=TRUE)#changer de couleurboxplot(a,border= »blue »)boxplot(b,border= »purple »)#nouveau jeu de données plus complexen<-c(1,1,1,5,5,5,5,6,6,8,8,20,30,0.5,4,5,6,6,6,6,6,7,7,7,7,8,3,5,8,8,8,8,8,9,9,9,9,11,12)m<-c(rep(‘A’,13),rep(‘B’,13),rep(‘C’,13))data<-data.frame(N=n,M=m)#on visualise le tableau ainsi créédatasummary(data)#On a 13 mesures pour chaque modalité (A,B,C)#comment avoir les boxplots pour chaque modalité?boxplot(data$N~data$M)#on enlève les outliers boxplot(data$N~data$M,outline=FALSE)#on change les couleurs avec l’argument borderboxplot(data$N~data$M,outline=FALSE,border=c(« blue », »purple », »green »))#on change les noms avec names: A devient mesure1, B mesure2, C mesure3boxplot(data$N~data$M,outline=FALSE, names=c(« mesure1″, »mesure2″, »mesure3″))#on ajoute les légendesboxplot(data$N~data$M,xlab= »légende x »,ylab= »légende y »,main= »boxplot »)#on colore les boîtes avec l’argument colboxplot(data$N~data$M,outline=FALSE,col=c(« blue », »purple », »green »)) #on changeRead More →

2348 Il est souvent utile de pouvoir comparer deux séries de données en algorithmique. Il existe quelques fonctions qui permettent ceci : #Prenons 2 séries de valeurs x=c(1,5,8,6,4,9,3,8) y=c(5,5,4,3,8,7,7) La fonction union(x,y) donne un vecteur composé des éléments qui se trouvent dans x ou dans y (union de x et de y). union(x,y) #donnera 1 5 8 6 4 9 3 7 union(y,x) #donnera 5 4 3 8 7 1 6 9 NB : on obtient le même résultat avec unique(c(x,y)) La fonction intersect(x,y) donne un vecteur composé des éléments qui se trouvent à la fois dans x et dans y (intersection de x etRead More →