# Minidocumentation R - Statistique ## Pour commencer (setwd) Pour simplifier le travail par la suite c'est une bonne idée de spécifier le dossier dans lequel on travail. (aka le chemin du dossier dans lequel on va rechercher nos données.) **Linux :** ``` setwd("/le/chemin/du/dossier/") ``` **Windows :** ``` setwd("C:\le\chemin\du\dossier\") ``` **Ou trouver le chemin ?** * Linux ![](https://i.imgur.com/rjR2qKp.png) * Windows : clique droit sur le fichier > propriétés * Mac : ?? ## Aide (help) ### Aide sur une fonction qu'on connait `help("fonction_connu")` ### Aide sur une fonction qu'on ne connait pas `help.search("un fonction qui doit vaguement s'appeler comme ça")` ## Morphologie d'une fonction Les deux écritures sont équivalentes : `val = fonction(param1, param2, param3)` `val <- fonction(param1, param2, param3)` Avec : * `val` : la valeur retournée par la fonction, ça peut être un peu tout et n'importe quoi : une valeur numérique, du texte, un tableau de valeur, un vecteur, une matrice ou une structure de données. Ici c'est une valeur retournée par la fonction qu'on recupére. * `param1`,`param2`,`param3` : des valeurs qui peuvent être comme `val` mais qui sont des valeurs qu'on donne à la fonction. * `fonction` : le nom de la fonction. La fonction `fonction` prend les paramètres `param1`,`param2` et`param3`. Effectue quelque chose est retourne une valeur qu'on va placer dans `var`. ## Importer des données ### Depuis un fichier texte (.txt ou .csv) : ``` data = read.table(file, sep="", header= FALSE) ``` * `file` : attend le nom du fichier contenant les données. ex: `"mon_fichier_de_données.txt"` * `sep` : attend le caractère séparteur des données * `sep=";"` signifie que le caractère séparateur est le point-virgule * `sep="\t"` signifie que le caractère séparateur est une tabulation * `header` : permet de spécifier si le fichier de données contient des entêtes * `header=TRUE` précise que le fichier contient des entêtes * `header=FALSE` précise que le fichier ne contient pas d'entête * `data` : on récupére le résultat de la fonction `read.table()` pour le placer dans la variable `data`. On peut l'appeler comme on veut. ### Depuis un fichier excel : **Méthode 1 : via le bloc-note** 1. copier les données d'intéret depuis excel dans le presse-papier (clipboard) * [Ctrl] + [C] * clique droit > copier 2. coller les données dans un bloc-note (notepad,...) * [Ctrl] + [V] * clique droit > coller 3. enregistrer sous forme de fichier .txt 4. importer les données dans R depuis le fichier .txt avec la fonction `read.table()`. *cf.* [Importer des données depuis un fichier texte.](#Depuis-un-fichier-texte-txt-ou-csv-) **Méthode 2 : via le presse-papier** 1. dans R, ajouter la commande `read.table()` avec `"clipboard"` en paramètre à la place du nom du fichier. *ex:* `read.table("clipboard", sep="\t", header=TRUE)` Pour des données copiées depuis excel il faut utiliser le séparateur tabulation. `sep="\t"`. [[plus de détails sur read.table]](#Depuis-un-fichier-texte-txt-ou-csv-) 2. dans Excel, copier les données d'intéret * [Ctrl] + [C] * clique droit > copier 3. dans R, executer la commande `read.table()` que vous venez d'ajouter ## Visualiser les données ### Afficher toutes les données (View): `View(data)` ### Afficher un résumé des données (summary): `summary(data)` ### Afficher la dimension du tableau de données : `dim(data)` ## Manipulation des données ### Supprimer les lignes avec des données manquantes: `data_sans_na = na.omit(data)` ### Selectionner une partie des données `subset` ## Graphiques ### Boite à moustache (boxplot) : ``` boxplot(data$Y~data$X) ``` * `data` : correspond au tableau de données. Dans ce cas, le tableau de données contient au moins une colonne `Y` et une colonne `X`. * `~` : signifie "en fonction de" * `data$X` : signifie "la colonne nommée `X` dans le tableau nommé `data`" * `data$Y` : signifie "la colonne nommée `Y` dans le tableau nommé `data`" Cette fontion permet de faire un graphique de valeurs quantitatives continues en fonctions de valeurs quantitatives discrètes ou qualitatives. On peut rajouter un titre et nommer les axes : ``` boxplot(data$Y~data$X, main = "mon titre", xlab = "nom axe X", ylab = "nom axe Y") ``` * `main` : le nom de la figure * `xlab` : le nom de l'axe X (ordonnée) * `ylab` : le nom de l'axe Y (abscisse) ![](https://i.imgur.com/XvHbD3P.png) ### Nuage de points (plot) : ``` plot(data$Y~data$X) ``` * `data` : correspond au tableau de données. Dans ce cas, le tableau de données contient au moins une colonne `Y` et une colonne `X`. * `~` : signifie "en fonction de" * `data$Y` : signifie "la colonne nommée `Y` dans le tableau nommé `data`" Cette commande permet d'afficher un nuage de points de `Y` en fonction de `X`. `X` et `Y` étant toutes les deux des colonnes dans la table `data`. On peut rajouter un titre et nommer les axes : ``` plot(data$Y~data$X, main = "mon titre", xlab = "nom axe X", ylab = "nom axe Y") ``` * `main` : le nom de la figure * `xlab` : le nom de l'axe X (ordonnée) * `ylab` : le nom de l'axe Y (abscisse) ### Une multitude de graphs "nuage de points" (pairs) ``` pairs(~ data$X + data$Y + data$Z) ``` * `data$X`, `data$Y`, `data$Z` : des variables (qu'on peut aussi appeller colonne dans un tableau de données) * `main`, `xlab`, `ylab` pour rajouter un titre à la figure et un nom aux axes. *cf. les autres graphiques.* Cette fonction permet de faire un graph "nuage de points" pour chaque combinaison de variable. Dans notre cas la fonction `pairs` va faire un nuage de points pour chaque combinaison de `data$X`, `data$Y` et `data$Z`. ### Tracer une droite sur le graph actuel ``` abline() ``` ## Tests Statistiques ### Shapiro ### Breusch-Pagan ### Anova ## Régression Linéaire ## Correlation