R permet de faire beaucoup de chose avec les graphiques mais il faut coder ce qu’on veut faire. Nous allons voir ici comment ajouter des courbes, des points et des droites sur un plot. #on crée des données pour l’exemple x<-seq(0:100)a<-2b<-5y1<-ax+by2<-ax^0.5+by3<-ax^0.3+bxynoisy1<-y1+rnorm(length(y1),sd=0.2y1)ynoisy2<-y2+rnorm(length(y2),sd=0.2y2)ynoisy3<-y3+rnorm(length(y3),sd=0.2y3)#étape 1 on trace la fonction y1 avec un plotplot(y1~x,type=’l’,col="green",lwd=2,ylim=c(0,300))#étape 2 on veut ajouter les fonctions y2 et y3 sur le même graphiques : on utilise lineslines(y2~x,type=’l’,col="blue",lwd=2)lines(y3~x,type=’l’,col="purple",lwd=2)#étape 3 on veut ajouter les nuages de point ynoisy1 2 et 3 sur le graphique: on utilise pointspoints(ynoisy1~x,pch=20,col="grey")points(ynoisy2~x,pch=20,col="black")points(ynoisy3~x,pch=22,col="black")#étape 4 on veut ajouter une droite verticale pour x=50 : on utilise abline(v=) v pour vertical abline(v=50,col="red")#étape 5 on veutRead More →

R permet de faire beaucoup de chose avec les graphiques mais il faut coder ce qu’on veut faire. Nous allons voir ici comment ajouter des courbes, des points et des droites sur un plot. #on crée des données pour l’exemple x<-seq(0:100)a<-2b<-5y1<-a*x+by2<-a*x^0.5+by3<-a*x^0.3+b*xynoisy1<-y1+rnorm(length(y1),sd=0.2*y1)ynoisy2<-y2+rnorm(length(y2),sd=0.2*y2)ynoisy3<-y3+rnorm(length(y3),sd=0.2*y3)#étape 1 on trace la fonction y1 avec un plotplot(y1~x,type=’l’,col= »green »,lwd=2,ylim=c(0,300))#étape 2 on veut ajouter les fonctions y2 et y3 sur le même graphiques : on utilise lineslines(y2~x,type=’l’,col= »blue »,lwd=2)lines(y3~x,type=’l’,col= »purple »,lwd=2)#étape 3 on veut ajouter les nuages de point ynoisy1 2 et 3 sur le graphique: on utilise pointspoints(ynoisy1~x,pch=20,col= »grey »)points(ynoisy2~x,pch=20,col= »black »)points(ynoisy3~x,pch=22,col= »black »)#étape 4 on veut ajouter une droite verticale pour x=50 : on utilise abline(v=) v pour vertical abline(v=50,col= »red »)#étape 5 on veutRead 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<-xiprint(x)print("coucou")} # s’écrit en une lignex<-10;for ( i in 1:10){print(i);x<-xi;print(x);print("coucou")}  Read 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 →

Dans les résultats d’analyse statistique, R affiche souvent des étoiles à côté des p values avec le code suivant : Signif. codes:  0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 Il est possible de les enlever: #on utilise les données irisirissummary(iris)#pour l’exemple on fait une analyse de variance : la longueur des sépales est-elle expliquée par l’espèce?reg<-lm(iris$Sepal.Length~iris$Species)anova(reg)summary(reg) R affiche les résultats avec les étoiles pour les p-values : Analysis of Variance Table Response: iris$Sepal.Length              Df Sum Sq Mean Sq F value    Pr(>F)    iris$Species   2 63.212  31.606  119.26 < 2.2e-16 ***Residuals    147 38.956   0.265       On décide de les enlever en utilisant optionsRead More →

Dans les résultats d’analyse statistique, R affiche souvent des étoiles à côté des p values avec le code suivant : Signif. codes:  0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 Il est possible de les enlever: #on utilise les données irisirissummary(iris)#pour l’exemple on fait une analyse de variance : la longueur des sépales est-elle expliquée par l’espèce?reg<-lm(iris$Sepal.Length~iris$Species)anova(reg)summary(reg) R affiche les résultats avec les étoiles pour les p-values : Analysis of Variance Table Response: iris$Sepal.Length              Df Sum Sq Mean Sq F value    Pr(>F)    iris$Species   2 63.212  31.606  119.26 < 2.2e-16 ***Residuals    147 38.956   0.265       On décide de les enlever en utilisant optionsRead More →

On a parfois besoin d’un jeux de données qui reprend toutes les combinaisons possibles de plusieurs facteurs.Bien sûr on peut le faire à la main, mais il y a beaucoup plus intelligent : la fonction expand.grid fait ça très bien. expand.grid(c("voiture","velo"),c("bleue","rouge","vert"),c("mercedes","peugeot")) Cette commande permet de générer toutes les combinaisons possibles : voiture bleue mercedes, voiture bleue peugeot…Read More →

On a parfois besoin d’un jeux de données qui reprend toutes les combinaisons possibles de plusieurs facteurs.Bien sûr on peut le faire à la main, mais il y a beaucoup plus intelligent : la fonction expand.grid fait ça très bien. expand.grid(c(« voiture », »velo »),c(« bleue », »rouge », »vert »),c(« mercedes », »peugeot »)) Cette commande permet de générer toutes les combinaisons possibles : voiture bleue mercedes, voiture bleue peugeot…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 →

Les packages contiennent un certain nombre de fonctions. Il peut être intéressant de voir comment elles sont codées, pour les comprendre ou les améliorer par exemple. #il suffit de taper son nomlm  # affiche le code source de la fontion lmpage(lm) # affiche une nouvelle fenêtre avec le code source bien mis en forme (avec indentation)dput(lm, control = "useSource") # permet de voir les commentaires s’il y en a, en pratique page utilise dputpage(lm, control = "useSource") # cela fonctionne donc aussi.Read More →