M1 Traitement de Donnees Biologiques - TP Intro R
From silico.biotoul.fr
m (→Utilisation et calculs avec du code R) |
m |
||
Line 17: | Line 17: | ||
= Utilisation et calculs avec du code R = | = Utilisation et calculs avec du code R = | ||
+ | |||
+ | == Utilisation de variables == | ||
+ | |||
+ | Les variables (ou objets) permettent de stocker des données qui peuvent être : | ||
+ | * une valeur simple de type numérique (<tt>numeric</tt>), logique (<tt>logical</tt>), chaîne de caractères (<tt>character</tt>) ou qualitative (<tt>factor</tt>). | ||
+ | * une liste (appelée <tt>vector</tt>). | ||
+ | * un tableau à 2 dimensions, les colonnes pouvant avoir des types différents (<tt>data frame</tt>). Ce sont les plus utilisés en statistiques. | ||
+ | * un tableau à 2 dimensions, toutes les cases ayant le même type (<tt>matrix</tt>). | ||
+ | * un tableau à plus de 1 dimension (<tt>array</tt>). | ||
+ | * une combinaison des précédents (<tt>list</tt>). | ||
+ | |||
+ | Une variable à un nom (défini par l'utilisateur) qui permet d'accéder à son contenu. | ||
+ | |||
+ | <span style='color: blue;'>Créer une variable appelée <tt>x</tt> qui stocke le résultat du calcul précédent <tt>1 + 2 + 3</tt>.</span> L'affectation d'une valeur à une variable se fait avec <tt><-</tt> ou le signe <tt>=</tt> comme suit dans la console : | ||
+ | <source lang='rsplus'> | ||
+ | x = 1 + 2 + 3 | ||
+ | </source> | ||
+ | |||
+ | Vous devriez voir s'afficher <tt>x</tt> dans l'environnement en haut à droite comme sur la capture d'écran précédente. | ||
+ | |||
+ | Pour afficher le contenu d'une variable, il suffit de taper son nom (dans la console en bas à gauche) : | ||
+ | <source lang='rsplus'> | ||
+ | x | ||
+ | </source> | ||
+ | |||
+ | <span style='color: blue;'>Rajoutez ces commandes à votre du compte rendu de TP (script en haut à gauche).</span> | ||
+ | |||
```{r} | ```{r} | ||
Line 130: | Line 157: | ||
``` | ``` | ||
+ | |||
= Liens = | = Liens = | ||
* Site de R : http://www.r-project.org et sites miroirs (dont ceux en France) pour télécharger le logiciel et les librairies : https://cran.r-project.org/mirrors.html | * Site de R : http://www.r-project.org et sites miroirs (dont ceux en France) pour télécharger le logiciel et les librairies : https://cran.r-project.org/mirrors.html | ||
* RStudio : https://www.rstudio.com | * RStudio : https://www.rstudio.com |
Revision as of 09:45, 24 August 2016
Au cours de ce TP, nous allons utiliser le logiciel R à travers une interface particulière : RStudio. Cette interface permet d'éditer des scripts en R ainsi qu'en langage Markdown que nous allons utiliser pour la rédaction de rapports scientifiques. L'interface se compose en plusieurs parties (cf. capture d'écran ci-dessous) :
- en haut à gauche : édition de fichiers et scripts, et visualisation des données tabulées
- en bas à gauche : exécution de code R dans une console
- en haut à droite : les objets et variables chargés en mémoire
- en bas à droite : plusieurs onglets : accès aux fichiers, graphiques, librairies disponibles, aide, et visualiseur de rapports scientifiques
Créer un répertoire de travail sur le bureau (par exemple TDB-TP1_introduction) et commencez par télécharger le fichier source que vous allez utiliser et compléter pour générer le compte rendu de TP : M1.TDB.TP_introduction_R.Rmd (click droit de la souris -- enregistrer la cible sous...).
Ouvrez le logiciel RStudio et chargez ce fichier puis lancez sa compilation pour voir le rendu comme dans la capture d'écran ci-dessus. Pour cela cliquez sur le bouton Knit HTML ou bien utilisez la combinaison de touches Ctrl + shift + K.
Vous verrez que si la compilation est réussie, un fichier M1.TDB.TP_introcution_R.html va être généré dans le même répertoire que le fichier M1.TDB.TP_introduction_R.Rmd que vous avez téléchargé.
Utilisation et calculs avec du code R
Utilisation de variables
Les variables (ou objets) permettent de stocker des données qui peuvent être :
- une valeur simple de type numérique (numeric), logique (logical), chaîne de caractères (character) ou qualitative (factor).
- une liste (appelée vector).
- un tableau à 2 dimensions, les colonnes pouvant avoir des types différents (data frame). Ce sont les plus utilisés en statistiques.
- un tableau à 2 dimensions, toutes les cases ayant le même type (matrix).
- un tableau à plus de 1 dimension (array).
- une combinaison des précédents (list).
Une variable à un nom (défini par l'utilisateur) qui permet d'accéder à son contenu.
Créer une variable appelée x qui stocke le résultat du calcul précédent 1 + 2 + 3. L'affectation d'une valeur à une variable se fait avec <- ou le signe = comme suit dans la console :
x = 1 + 2 + 3
Vous devriez voir s'afficher x dans l'environnement en haut à droite comme sur la capture d'écran précédente.
Pour afficher le contenu d'une variable, il suffit de taper son nom (dans la console en bas à gauche) :
x
Rajoutez ces commandes à votre du compte rendu de TP (script en haut à gauche).
```{r}
- Démarrer une session / charger un script
- Créer un répertoire de travail sur le bureau, dans lequel se trouvent
- les fichiers de données et les fichiers que vous allez éventuellement éditer avec R.
- - Lancer Rstudio --> Session --> set working directory --> aller jusqu'au dossier de travail
- - ouvrir un script (déjà présent dans le répertoire) ou "new script"
- - attente de commande: control R pour copier-coller la commande
- - # = insérer des commentaires
- - flèches haut et bas = naviguer dans les commandes déjà lancées
- Obtenir de l'aide sur une fonction
- onglet HELP
- sous R, on tape par exemple ?mean
- Calculs et Objets de stockage sous R
- calculer la somme des 3 premiers entiers naturels
1+2+3
- calculer la fonction exponentielle du nombre 10
exp(10)
- créer un objet que vous nommerez "my_object", et qui contient la commande précédente
my_object = exp(10)
- logique: "est-ce que mon objet est égal/différent de 2"?
my_object == 2 my_object != 2
- un objet peut contenir du texte
my_object="biology" my_object
- Vecteurs: création, exploration et manipulation
- créez un vecteur "x" contenant les valeurs 2,3,5,8,4,6 rassemblées avec la commande c()
x = c(2,3,5,8,4,6) ; x
- donnez sa longueur avec la commande length
length(x)
- affichez la deuxième valeur de x (utiliser x[])
x[2]
- exploration suivant un critère: oui/non; indices; valeurs
x>4;which(x>4);x[x>4]
- donner l'inverse de x
1/x
- Importation de tableaux de données sous R
- au préalable, on rentre les données sous excel
- on enregistre en format "txt, séparateur = tabulation""
- éviter de mettre des espaces dans les noms de variables, ainsi que des accents
- sous R:
- on utilise la fonction "read.table":
- - on spécifie s'il y a un en-tête (nom des variables en première ligne): "header=T" (header="en-tête")
- - on spécifie le séparateur (sep=" ": espace, sep=";": point-virgule, sep="\t": tabulation)
- - si la décimale est une virgule alors dec=","
- on ouvre le fichier "croissance_plantes.txt":
croissance = read.table("croissance_plantes.txt", sep="\t",header=TRUE)
- on affiche le tableau
croissance
- pour pouvoir ensuite accéder aux variables simplement en donnant leurs noms
attach(croissance)
- pour afficher les noms des variables
names(croissance)
- Exportation d'objets R
- nous souhaitons par exemple exporter une partie du tableau précédent
- ==> les données relatives aux "pyrénées"
my_data=croissance[origine_geo=="pyr",]
- on exporte avec la fonction
write.table(my_data,"my_data_exported.txt",quote=F,col.names= T,row.names = F, sep = "\t")
- Statistiques basiques sur une variable qualitative
- nombre d'individus par catégorie
summary(origine_geo)
- Fonction graphique sur une variable qualitative
- nombre d'individus par catégorie
pie(summary(origine_geo),main="origines géographique des plantes") barplot(summary(origine_geo),main="origines géographique des plantes",las=3)
- Statistiques basiques sur une variable quantitative
- moyenne, variance (correction "n-1"), écart-type
mean(taille); var(taille); sd(taille)
- valeur minimale, maximale
min(taille); max(taille)
- quantiles
median(taille); quantile(taille); quantile(taille,c(0.5,0.95,0.99))
- la commande summary() résume l'objet
summary(taille)
- Fonction graphique sur une variable quantitative
- distribution de la taille des plantes récoltées, sur des graphiques séparés
- découper une fenêtre graphique (ici: "2 lignes, 2 colonnes") pour positionner plusieurs graphiques
par(mfrow=c(2,2)) hist(taille,xlim=c(40,90),xlab="taille (cm)",ylab="fréquence",freq=T,main="histogramme de la taille des plantes",col="orange") boxplot(taille,main="boxplot de la taille des plantes",ylab="taille") plot(taille~origine_geo,las=3) stripchart(taille~origine_geo,las=1)
- Fonction graphique sur deux variables quantitatives mesurées sur les mêmes individus
- nuage de points: taille versus poids
x11() # nouvelle fenêtre graphique plot(taille,poids,col="red",pch=20)
- Sauvegarde et/ou exportation d'un graphique
- dans l'onglet plot, au choix:
- - Copy to Clipboard ==> coller dans word/powerpoint.
- - Save as Image (TIFF,JPEG,...)
- - Save as PDF
- exportez le graphique précédent
```
Liens
- Site de R : http://www.r-project.org et sites miroirs (dont ceux en France) pour télécharger le logiciel et les librairies : https://cran.r-project.org/mirrors.html
- RStudio : https://www.rstudio.com