--- title: "Squelette de rapport en Rmarkdown" # Titre subtitle: "Squelette minimal" # Sous titre author: "Nom des auteurs" # Auteurs date: "31 août 2020" # Dates output: # Différents formats de sorties html_document: # Si on compile en html theme: readable # Theme (voir https://www.datadreaming.org/post/r-markdown-theme-gallery/) toc: yes # Montre-ton la table des matières? number_sections: yes # Numérote t'on les sections? toc_float: yes # La table des matières "flotte à droite" (seulement en html) highlight: tango # Apparence du code pdf_document: toc: yes # Montre-ton la table des matières? number_sections: yes # Numérote t'on les sections? highlight: tango # Apparence du code header-includes: # Inclusion d'options (si on compile en pdf) - \renewcommand{\contentsname}{Table des matières} # Nom de la table des matieres encoding: UTF-8 # Encodage --- ```{r setup, include=FALSE} # Ce code, non inclus dans la sortie (car on a spécifié include = FALSE) # permet de spécifier toutes les options par défaut pour les chunks knitr::opts_chunk$set(echo = FALSE, # Ici, par défaut, les chunks seront invisibles eval = TRUE, # Tous les chunks sont évalués par défaut fig.align = "center", # Les figures sont centrées fig.width = 8, fig.height = 6, message = FALSE, # Les messages de R ne sont pas sortis warning = FALSE) # Les avertissement de R ne sont pas sortis ``` ```{r packages_utilises} # Liste des package utilisés dans votre document (à compléter ou élaguer!) library(dplyr) # Pour le %>% library(ggplot2) # Pour les graphiques ``` # Remarque préliminaire {-} Si les accents ne s'affichent pas bien, dans Rstudio, cliquez sur: - `File -> Reopen with Encoding -> UTF-8` # Introduction Ce fichier est un squelette de rapport sur lequel vous pourrez vous appuyer pour rendre votre projet ou faire quelconque travail nécessitant une analyse de données avec `R`. **Commencez par compiler ce document dans `Rstudio` en cliquant sur `Knit` pour voir le rendu.** **Remarque:** *Cela demande d'avoir les packages `dplyr` et `ggplot2`, que vous pouvez installer avec les codes:* ```{r installation_dplyr, ggplot2, echo = TRUE, eval = FALSE} install.packages("dplyr") install.packages("ggplot2") ``` **Autre remarque: ** *Vous remarquerez que quand vous avez cliquez sur `Knit`, ce dernier code ne s'est pas éxecuté, grâce à l'option `eval = FALSE`.* # Données Notre jeu de données est le jeu de données `cars`, qui a deux colonnes: 1. La colonne `speed`, donnant la vitesse de la voiture; 2. La colonne `dist`, donnant la distance d'arrêt du véhicule. ## Présentation des données Vous pouvez présenter un aperçu des données. Evidemment, on n'a pas envie de voir le code qui vous permet d'afficher les données. L'option, `echo = FALSE` mise au début du document permet d'éviter cela. De plus, vous pouvez utiliser des options de visualisations pour que les sorties soient jolies, **avec des noms lisibles en français**. Donc, dans votre chunk vous pouvez utiliser la fonction `knitr::kable` (voir le document dédié pour aller plus loin). On peut éventuellement mettre une légende ```{r head_cars} head(cars) %>% knitr::kable(col.names = c("Vitesse", "Distance d'arrêt"), caption = "En-tête des données") # On renomme, c'est un rapport! ``` ## Visualisation des données Vous pouvez représenter les données. Encore une fois, on n'a pas forcément envie de voir le code. Le graphique doit être écrit en français (voir la section graphiques). Le format des graphiques (taille, etc), peut être ajusté avec les options des chunks. ```{r graphique, fig.cap = "Légende optionnelle"} cars_plot <- ggplot(cars) + aes(x = speed, y = dist) + geom_point() + # On réécrit les axes en Français labs(title = "Distance d'arrêt en fonction de la vitesse", x = "Vitesse", y = "Distance d'arrêt") cars_plot ``` # Section avec des mathématiques On va ajuster un modèle de régression simple. ## Notations On dispose de $n = 50$ mesures de vitesses et de distances d'arrêt. On note: - $x_1,\dots, x_n$ les mesures de vitesses, - $y_1,\dots, y_n$ les mesures de distances d'arrêt. ## Modèle Pour tout $k$ allant de 1 à $n$, on suppose que $y_k$ est la réalisation d'une variable aléatoire $Y_k$ telle que: $$Y_{k} = \beta_{0} + \beta_{1} x_{k} + E_{k}$$ où: - $\beta_{0}$ et $\beta_{1}$ sont des paramètres inconnus, - $E_k$ est une variable aléatoire: - D'espérance égale à 0; - De variance égale à $\sigma^2$, qui est un paramètre inconnu; - De loi normale. De plus, on suppose que les variables aléatoires $E_1,\dots, E_n$ sont **mutuellement indépendantes**. On résume cette relation par: $$E_k \overset{i.i.d}{\sim} \mathcal{N}(0, \sigma^2)$$ ## Ajustement avec du code R On ajuste donc le modèle avec R (cette fois on montre le code avec `echo = TRUE`): ```{r modele, echo = TRUE} modele_regression <- lm(dist ~ speed, # Formule du modèle data = cars) # Données sur lesquelles on ajuste ``` L'estimation ponctuelle pour le paramètre $\beta_{1}$ défini plus haut est de `r round(modele_regression$coeff[2], 2)` (cette valeur est évaluée directement depuis `R`).