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) #123*4diff(v) #2-1,3-2,4-3cumsum(v) #1, 1+2, 1+2+3, 1+2+3+4Read 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 →

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 →

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 →

Devant les importantes possibilités de R, il est possible et utile de lancer certaines recherches en ligne de commande pour trouver des fonctions ou des paquets associés.(NB : une connexion internet est requise) Tout d’abord, pour obtenir l’aide (en anglais) d’une fonction, il y a 2 possibilités : help(LaFonction) #LaFonction = le nom de la fonction#ou?LaFonction#Exemple avec la fonction matrix() qui permet de créer une matrice?matrix Si R vous renvoie un message d’erreur disant que "LaFonction" n’existe pas, c’est que : – soit elle n’existe effectivement pas ! Dans ce cas, vous pouvez essayer de rechercher une fonction qui permet ce que vous voulez viaRead More →