Bonjour à tous !
Aujourd’hui, je vous propose un premier petit cours/tutoriel de niveau « débutant », d’une série d’au moins 3, pour apprendre à faire quelques graphiques avec R et vous la péter devant vos collègues encore à grapher sous Excel.
Ce tutoriel s’adresse aux gens qui n’ont jamais codé, qui ne connaissent pas grand-chose à la programmation et qui sont avides de savoir/pouvoir (les deux choses étant liées). Donc si vous êtes non-bioinformaticien sympathisant, ou que vous passez là par pur hasard, ce tuto est pour vous ! De plus, j’ai dans l’idée de m’efforcer à faire des cours condensés, qui ne vous occuperont pas plus de 10 minutes, pour meubler vos pauses clopes (c’est meilleur pour la santé !).
La première question que j’entends quand je parle de R est « Mais R, c’est quoi ? ». R est un langage de programmation et un environnement mathématique, qui permet, de façon très poussée, de faire du traitement de données, de l’analyse statistique, ou encore comme nous allons le voir aujourd’hui, des graphiques !
Pourquoi ne parler que des graphiques aujourd’hui ? Parce que trop de gens en biologie font encore des graphiques avec Excel (et consorts), perdent du temps, font des choses inappropriées, ou ne contrôlent pas leurs graphiques de bout en bout. De plus, les journaux scientifiques ont des exigences qui ne cadrent pas toujours avec les graphiques automatiques. Ce que permet R, et c’est sa plus grande force face à Excel, c’est un contrôle total de ce que vous allez afficher. Et si tout le monde fait des graphiques, tout le monde ne fait pas de statistiques (même si tout le monde devrait).
Allez, on se lance !
Pour installer R, rien de plus simple ! On se rend sur le site du CRAN, on télécharge la version adaptée à son système d’exploitation et on installe R comme n’importe quel logiciel. Il est à noter qu’une version est souvent présente sur les systèmes Unix-GNU/Linux, sans avoir à installer quoi que ce soit. Cependant, ces versions sont souvent un peu datées et il est préférable d’installer les dernières versions stables, quand on souhaite utiliser des packages (nous reviendrons là dessus).
A l’heure de la rédaction de ces lignes, la dernière version est la 2.15.1, donc il sera possible dans le futur que ce que je vous écris là soit dépassé et que les ordinateurs aient pris le contrôle de votre cerveau. Dans ce cas, pas la peine de continuer.
Si vous avez toujours vos neurones, vous tomberez après installation sur la fenêtre suivante :
Je suis ici sous Mac OSX et j’ai simplement édité mes couleurs de la façon suivante (pour que les gens qui passent devant mon écran sachent que je travaille directement dans la matrice) :
Nous avons donc tout un tas de blabla, puis un chevron « > », qui nous indique que R attend notre prochaine commande. Nous allons commencer par les bases et taper « 2+3 » puis entrée. A cet instant, magie noire se faisant, R calcule et vous donne le résultat, après le [1] (le numéro du résultat).
Très bien, vous venez d’entrer votre première commande. Félicitations !
Maintenant, entrons notre première valeur en mémoire :
1 |
> a |
Nous avons ici notre chevron montrant que R nous attend, puis « a », le nom de notre variable, puis la flèche vers la gauche <-
Un peu de détail :
Une variable, contrairement à une constante, est : Variable ! Bravo ! C’est-à-dire que l’on peut lui assigner une valeur, qui peut changer au cours du temps. Cette variable est stockée dans la mémoire de l’ordinateur et peut être rappelée quand bon vous semble.
«
1 |
< ;- |
» peut être remplacé par « = », c’est la même chose. La flèche ayant l’avantage dans des cas avancés de pouvoir aller dans l’autre sens (->), alors que le « = » sera toujours pour assigner une valeur sur la droite à une variable positionnée sur la gauche.
La valeur est ce que l’on veut garder, le résultat d’un calcul, un mot, une histoire, une aventure…
Maintenant, si vous tapez « a » :
1 2 3 |
> a [1] 1 |
R vous retourne la valeur de votre variable !
Maintenant, créons un vecteur (une suite de valeurs), grâce à « c( ) ».
1 |
> a <- c(1,2,3,4,5) |
Nous venons d’assigner à notre variable « a » les 5 valeurs 1, 2, 3, 4 et 5, dans un vecteur. Nous pouvons maintenant faire des choses avec ce vecteur, comme lui additionner 1 :
1 2 3 |
> a + 1 [1] 2 3 4 5 6 |
R additionne 1 à chaque élément de « a » et nous retourne le résultat.
Maintenant, que se passe-t-il si on fait un plot, un graphique de ce vecteur ?
1 |
> plot(a) |
R nous dessine un graphique, avec en ordonnée les valeurs de notre vecteur (1, 2, 3, 4 et 5) et en abscisse leur position dans l’index de « a ». Vous allez me dire "Hey, mais tout à l'heure, on a fait a+1, alors on devrait démarrer notre vecteur à 2 !", ce à quoi je vous répondrai : "Oui, banane, mais on ne l'a pas mis en mémoire, si ?" et tout penaud vous baisserez la tête et répondrez "Ah non, c'est vrai…". En effet, il aurait fallu assigner cette addition en mémoire si on voulait la conserver. Mais on verra ça la semaine prochaine.
Revenons à la position dans l'index. Qu’est-ce que cette position ? Et bien dans un vecteur, chaque élément est indexé, c’est-à-dire que l’on peut y accéder directement en connaissant son numéro d’index. Il est à noter que contrairement à beaucoup de langages de programmation, R compte à partir de 1 et pas de 0 (comme nous quoi…). Par exemple, dans « a », le 3 a pour index 3. Pour y accéder, on tape :
1 2 3 |
> a[3] [1] 3 |
C’est plus convaincant si on modifie a :
1 2 3 |
> a <- c(5,6,7,8,9) > a[3] [1] 7 |
Le nouveau 3ème élément de « a » est bien 7 (ce que vous pouvez vérifier en re-plottant a).
Si vous voulez en savoir plus sur la fonction plot, comme toutes les fonctions R, elle a une page d’aide, à laquelle vous accédez en tapant le nom de la fonction précédé par un « ? » :
1 2 3 |
> ?plot starting httpd help server ... done |
Vous devriez voir apparaître la page d’aide de la fonction recherchée, en l’occurrence « plot », du package {graphics} qui est un package de base de R.
Voici déjà une introduction sur R, vous permettant de commencer à vous amuser. Dans la prochaine édition, nous verrons comment faire des graphiques avec des couleurs, des points funky, le tout avec des exemples appliqués à la biologie et toujours en vous permettant de faire le cours en 10 minutes top chrono !
Allez, c'est mon cadeau du jour, le top de "J'me la tonze sévère" ; tapez dans R le code suivant (que vous connaissez si vous êtes un fan du blog) :
1 2 3 4 5 6 |
install.packages("onion") require(onion) data(bunny) p3d(bunny,theta=3,phi=104,box=FALSE) |
Toutes les images de cet article sont sous licence CC BY-SA 3.0.
Je tiens à remercier Sylvain P., Nico M. et nahoy pour leurs commentaires.
Laisser un commentaire