M1 Traitement de Donnees Biologiques - TP Intro R
From silico.biotoul.fr
m (→Vecteurs) |
m (→Fonctions) |
||
Line 151: | Line 151: | ||
</source> | </source> | ||
- | Quand on ne connaît pas exactement le nom, on peut faire une recherche | + | Quand on ne connaît pas exactement le nom, on peut faire une recherche par mot : |
<source lang='rsplus'> | <source lang='rsplus'> | ||
??mean | ??mean |
Revision as of 15:20, 24 August 2016
Contents |
Prise en main de R et RStudio
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) et assurez-vous que cela fonctionne (en recompilant le fichier).
Essayez avec les autres types de variables simples. Par exemple :
texte = "Phrase qu'il faut mettre entre guillemets." logique = TRUE faux = FALSE # ce qui est après un # correspond à du commentaire et n'est pas interprété comme du code x = x * 2 # on multiplie x de toute à l'heure par 2 y = x**2 # y prend la valeur de x au carré (puissance 2)
Les valeurs logiques peuvent être le résultats de tests :
x < 10 # strictement inférieur à 10 ? x <= 11 # inférieur ou égal x == 12 # test d'égalité x >= 13 x > 0 x != 0 # test si x est différent de 0 ! FALSE # inverse une valeur logique
Ajoutez ces parties à votre compte rendu.
Vecteurs
Créez un vecteur x contenant les valeurs 2,3,5,8,4,6 rassemblées avec la fonction c() :
x = c(2,3,5,8,4,6) x
Calculez sa longueur avec la fonction length() :
length(x)
Accès à certains éléments : Affichez la deuxième valeur de x. Pour cela, on utilise les crochets :
x[2]
Pour accéder à plusieurs éléments, on utilise un vecteur contenant les positions :
x[ c(2,4,1) ]
Si les positions se suivent, on peut utiliser les :
2:4 x[2:4]
ou dans l'ordre inverse :
4:2 x[4:2]
On peut aussi accéder à tous les éléments sauf certains :
x[ -2 ] # tous, sauf le 2ème x[ -2:-3 ] # tous, sauf le 2ème et le 3ème
Exploration suivant un critère: vrai/faux, indices, ou valeurs
x>4 which( x>4 ) x[ x>4 ]
Effectuer une opération sur chaque élément :
x 1 / x # en arrondissant 2 chiffres après la virgule) round(1/x, 2) x + 1 x * 2
Ajoutez ces parties à votre compte rendu.
Fonctions
R charge certaines librairies au démarrage selon comment il est installé et configuré. Les librairies mettent à disposition des fonctions qui peuvent être très simples, jusqu'à très très compliquées.
Essayez les suivantes sur votre vecteur x. Et notez dans votre compte rendu ce qu'elles permettent de faire.
- summary(x)
- min
- max
- median
- mean
- sd
Afin de mieux comprendre ce qu'elles font et quels sont les paramètres que l'on peut leur passer, utilisez l'aide :
help(median)
ou plus simplement :
?mean
Quand on ne connaît pas exactement le nom, on peut faire une recherche par mot :
??mean
```{r}
- Obtenir de l'aide sur une fonction
- onglet HELP
- sous R, on tape par exemple ?mean
- 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)
- 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