Commit fe1d07d1 authored by David Carayon's avatar David Carayon
Browse files

new report templates and analysis dir

parent 8967caab
# Generated by roxygen2: do not edit by hand
export(create_analysis_dir)
export(scale_color_inrae)
export(scale_color_inrae_n5)
export(scale_color_quant)
......
#' Create analysis directory template
#'
#' @param dir the directory where the template will be created
#'
#' @return
#' @export
#'
#' @examples
#' library(InraeThemes)
#' # create_analysis_dir(getwd())
create_analysis_dir <- function(dir = getwd()){
path <- system.file("template_analyse", package = "IDEATools")
if (!dir.exists(dir)) dir.create(dir)
file.copy(path, dir, recursive = TRUE)
}
......@@ -45,7 +45,7 @@ scale_color_inrae_n5 <- function(...){
}
palette_light <- function() {
c(
toupper(c(
blue = "#2c3e50", # blue
red = "#e31a1c", # red
green = "#18BC9C", # green
......@@ -58,7 +58,7 @@ palette_light <- function() {
orange = "#ff7f00", # orange
light_purple = "#cab2d6", # light_purple
purple = "#6a3d9a" # purple
) %>% toupper()
))
}
......
......@@ -12,17 +12,17 @@ knitr::opts_chunk$set(
out.width = "100%",
dpi = 320
)
library(magrittr)
```
# InraeThemes
# InraeThemes <img src='man/figures/logo_hex.png' align="right" height="139" />
<!-- badges: start -->
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)
<!-- badges: end -->
InraeThemes est un package proposant une variété de templates (Rmarkdown) et de thèmes (ggplot) qui respectent la charte graphique INRAE.
InraeThemes est un package proposant une variété de templates (Rmarkdown) de thèmes (ggplot) et de fonctions utilitaires qui respectent la charte graphique INRAE.
**Attention : Ces modèles nécessitent l'installation de 2 polices adoptées dans la charte graphique INRAE : "Raleway" et "Avenir Next Pro".**
......@@ -37,7 +37,7 @@ devtools::install_github("davidcarayon/InraeThemes")
## Exemple
Voici un exemple de graphique utilisant un thème ggplot INRAE :
Voici un exemple de graphique utilisant un thème proposé dans le package, `theme_quant()`, inspiré du package `{tidyquant}`.
```{r example, message = FALSE}
library(InraeThemes)
......@@ -45,20 +45,46 @@ library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(color = as.factor(gear)))+
scale_color_inrae_n5()+
scale_color_quant()+
geom_smooth(color = couleurs_inrae[1]) +
labs(x = "Valeur de X", y = "Valeur de Y", title = "Titre du graphique", subtitle = "Sous-titre", color = "couleur") +
theme_inrae()
theme_quant()
```
# Création d'un répertoire d'analyse
La fonction utilitaire `create_analysis_dir()` permet de créer, dans le répertoire de votre choix, une architecture "classique" d'un projet d'analyse de données :
```{r eval = FALSE}
create_analyse_dir(dir = getwd())
```
![](man/figures/cap_dir.png)
# Utilisation de modèles
Ce package permet de rédiger des rapports pré-formatés au style INRAE. Le modèle est directement accessible dans Rstudio via `File > New File > Rmarkdown > From Template`.
Ce package permet de rédiger des rapports pré-formatés au style INRAE. Les modèles sont directement accessibles dans Rstudio via `File > New File > Rmarkdown > From Template`.
## Rapport INRAE
## Rapport PDF ou HTML utilisant {pagedown}
Rapport PDF ou HTML utilisant {pagedown}
![](man/figures/cap_rapport.png)
## Présentation HTML utilisant {revealjs}
## Présentation dynamique INRAE
Présentation HTML et/ou PDF utilisant {revealjs} et `pagedown::chrome_print()`
![](man/figures/cap_reveal.png)
## Rapport simplifié INRAE
Rapport avec moins de formattage que le rapport précédent, dédié aux documents de travail pour partager des résultats d'analyse.
![](man/figures/simple_report.png)
## Rapports reproductibles
Rapports mettant encore plus l'accent sur la reproductibilité des analyses.
![](man/figures/cap_analysis.png)
<!-- README.md is generated from README.Rmd. Please edit that file -->
# InraeThemes
# InraeThemes <img src='man/figures/logo_hex.png' align="right" height="139" />
<!-- badges: start -->
......@@ -10,8 +10,8 @@ experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](h
<!-- badges: end -->
InraeThemes est un package proposant une variété de templates
(Rmarkdown) et de thèmes (ggplot) qui respectent la charte graphique
INRAE.
(Rmarkdown) de thèmes (ggplot) et de fonctions utilitaires qui
respectent la charte graphique INRAE.
**Attention : Ces modèles nécessitent l’installation de 2 polices
adoptées dans la charte graphique INRAE : “Raleway” et “Avenir Next
......@@ -28,7 +28,8 @@ devtools::install_github("davidcarayon/InraeThemes")
## Exemple
Voici un exemple de graphique utilisant un thème ggplot INRAE :
Voici un exemple de graphique utilisant un thème proposé dans le
package, `theme_quant()`, inspiré du package `{tidyquant}`.
``` r
library(InraeThemes)
......@@ -36,24 +37,55 @@ library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(color = as.factor(gear)))+
scale_color_inrae_n5()+
scale_color_quant()+
geom_smooth(color = couleurs_inrae[1]) +
labs(x = "Valeur de X", y = "Valeur de Y", title = "Titre du graphique", subtitle = "Sous-titre", color = "couleur") +
theme_inrae()
theme_quant()
```
<img src="man/figures/README-example-1.png" width="100%" />
# Création d’un répertoire d’analyse
La fonction utilitaire `create_analysis_dir()` permet de créer, dans le
répertoire de votre choix, une architecture “classique” d’un projet
d’analyse de données :
``` r
create_analyse_dir(dir = getwd())
```
![](man/figures/cap_dir.png)
# Utilisation de modèles
Ce package permet de rédiger des rapports pré-formatés au style INRAE.
Le modèle est directement accessible dans Rstudio via `File > New File >
Rmarkdown > From Template`.
Les modèles sont directement accessibles dans Rstudio via `File > New
File > Rmarkdown > From Template`.
## Rapport INRAE
## Rapport PDF ou HTML utilisant {pagedown}
Rapport PDF ou HTML utilisant {pagedown}
![](man/figures/cap_rapport.png)
## Présentation HTML utilisant {revealjs}
## Présentation dynamique INRAE
Présentation HTML et/ou PDF utilisant {revealjs} et
`pagedown::chrome_print()`
![](man/figures/cap_reveal.png)
## Rapport simplifié INRAE
Rapport avec moins de formattage que le rapport précédent, dédié aux
documents de travail pour partager des résultats d’analyse.
![](man/figures/simple_report.png)
## Rapports reproductibles
Rapports mettant encore plus l’accent sur la reproductibilité des
analyses.
![](man/figures/cap_analysis.png)
---
title: "Titre du document"
author: "Auteur du document"
date: "Analyse du `r format(Sys.Date(), '%d %B %Y')`"
output:
pagedown::html_paged:
highlight: zenburn
css:
- "style/simple.css"
knit: pagedown::chrome_print
title: "Titre de l'analyse"
subtitle : "NB : Ce template est une version simplifiée de [rtemps](https://github.com/bblodfon/rtemps)."
author: "Auteur"
date: "Dernière M.A.J : `r format(Sys.time(), '%d %B, %Y')`"
output:
html_document:
css: styles/analysis_report.css
theme: united
toc: true
toc_float:
collapsed: false
smooth_scroll: true
toc_depth: 3
number_sections: false
code_folding: hide
code_download: true
# A décommenter pour obtenir une version PDF en +
# knit: pagedown::chrome_print
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(
echo = FALSE,
message = FALSE,
warning = FALSE,
dpi = 300,
out.width = 2100
)
```
# Intro {-}
Template based on [Rmarkdown](https://bookdown.org/yihui/rmarkdown/), using the [united HTML theme](https://bootswatch.com/united/).
Refer to a [sub section](#sub-analysis).
Citing an article [@article].
Refer to section [Analysis].
```{r packages}
# Input {-}
Loading libraries:
```{r Load libraries, message = FALSE}
library(InraeThemes)
library(dplyr)
library(ggplot2)
library(gt)
source("../../../../../R/scales.R")
source("../../../../../R/themes.R")
library(magrittr)
library(ggplot2)
library(xfun)
```
# Analysis {-}
`Vestibulum` imperdiet^[Nullam quis sem nunc], ex vel sodales facilisis, nibh tellus imperdiet massa, sit amet scelerisque orci velit vel tellus. Ut consequat justo tincidunt porttitor varius. Suspendisse erat ipsum, feugiat vitae rhoncus non, molestie ac purus. Morbi aliquet, elit eget blandit suscipit, est lacus facilisis turpis, nec fermentum nunc felis et lorem.
::: {#Table1}
A nice table example:
:::
```{r}
# Si besoin des couleurs
couleurs_inrae<-rgb(red=c(102,0,39,0,255,157,158,66,121,196),
green=c(193,140,86,0,255,197,214,48,120,192),
blue=c(191,86,98,0,255,68,227,137,112,179),
names=c("vert_inrae_clair","vert_inrae","vert_inrae_fonce","noir","blanc","vert","bleu_clair","bleu_fonce","gris_fonce","gris_clair"),
max= 255)
gt::gt(head(mtcars)) %>% gt::tab_options(table.width = pct(100))
```
## Sub analysis {-}
> Suspendisse potenti
> Résumé de l'analyse
We can have math formulas inline like this: $E=mc^2$ or make them span an entire line like this:
# Premier chapitre
::: {#eq1}
:::
## Première section
$$f=\frac{a}{b+c}$$
### Une sous-section
**Create a horizontal line** using [markdown syntax](https://commonmark.org/help/):
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
----
Cras pulvinar ligula ac nisi porttitor, volutpat congue orci tincidunt. Pellentesque non mi congue, porta enim eget, venenatis sem. Integer suscipit vulputate tellus, eget commodo dolor gravida vel. Suspendisse gravida gravida ligula, in interdum sapien molestie ut.
## Seconde section
### Yet another analysis {-}
Ci-dessous un graphique avec theme INRAE :
::: {.blue-box}
In ut vehicula risus.
Refer to the [table](#Table1) above!
:::
```{r plot}
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(color = as.factor(gear)))+
scale_color_quant() +
facet_wrap(~am,scales="free") +
geom_smooth(color = couleurs_inrae[1]) +
labs(x = "Valeur de X", y = "Valeur de Y", title = "Titre du graphique", subtitle = "Sous-titre", color = "couleur") +
theme_quant()
```
```{r example plot, warning = FALSE, fig.align='center'}
options(scipen=999) # turn-off scientific notation like 1e+48
theme_set(theme_bw()) # pre-set the bw theme.
data("midwest", package = "ggplot2")
# midwest <- read.csv("http://goo.gl/G1K41K") # bkup data source
# Second chapitre
# Scatterplot
gg = ggplot(midwest, aes(x=area, y=poptotal)) +
geom_point(aes(col=state, size=popdensity)) +
geom_smooth(method="loess", se=F) +
xlim(c(0, 0.1)) +
ylim(c(0, 500000)) +
labs(subtitle="Area Vs Population",
y="Population",
x="Area",
title="Scatterplot",
caption = "Source: midwest")
## Première section
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```{r gt}
iris %>%
head(10) %>%
gt() %>% tab_options(
table.width = pct(100)
)
plot(gg)
```
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Remember [equation 1](#eq1)!
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
# Conclusion {-}
::: {#box1 .green-box}
Wrapping it up!
:::
## Seconde section
Avec insertion de code :
```{r echo = TRUE}
# On charge un package
library(ggplot2)
::: {#box4 .orange-box}
An orange box!!!
:::
# On trace un graphique ggplot avec un second theme INRAE
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
scale_fill_quant() +
geom_boxplot(color = "black") +
geom_jitter(shape = 21, color = "black", alpha = 0.6)+
labs(x = "Species", y = "Sepal Length") +
theme_quant()
# R session info {-}
```{r session info, comment=""}
xfun::session_info()
```
# References {-}
/* DISCLAIMER : Code inspiration from package {rtemps} (https://github.com/bblodfon/rtemps) */
/* Modified by D. Carayon (INRAE) */
body {
font-size: 1.6rem;
text-align: justify;
}
.title {
font-size: 47px;
color: firebrick;
}
h1,h2,h3,h4,h5 {
text-align: left;
}
.blue-box {
background-color: #e6f0ff;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.green-box {
background-color: #d9ffe9;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.orange-box {
background-color: #ffeedf;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.info-box {
padding: 1em 1em 1em 4em;
margin-bottom: 10px;
border: 2px solid orange;
border-radius: 10px;
background: #f5f5f5 5px center/3em no-repeat;
}
\ No newline at end of file
name: Rapport simplifié INRAE
name: Rapports simplifiés d'analyse (documents de travail)
description: >
Production d'un rapport simplifié pour le reporting d'analyses (documents internes).
Rapport d'analyse (documents de travail)
create_dir: FALSE
name: Présentation dynamique RevealJS
name: Présentation dynamique INRAE
description: >
Production d'une présentation pré-formatée aux couleurs INRAE, en HTML, utilisant le framework revealJS.
Présentation dynamique INRAE
create_dir: FALSE
name: Rapport INRAE PDF ou HTML
name: Rapport INRAE
description: >
Production d'un rapport pré-formaté aux couleurs INRAE, aux deux formats PDF et HTML, utilisant le framework pagedJS.
Rapport INRAE
create_dir: FALSE
---
title: "Titre du document"
author: "Auteur du document"
date: "Analyse du `r format(Sys.Date(), '%d %B %Y')`"
output:
pagedown::html_paged:
highlight: zenburn
css:
- "style/simple.css"
knit: pagedown::chrome_print
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(
echo = FALSE,
message = FALSE,
warning = FALSE,
dpi = 300,
out.width = 2100
)
```
```{r packages}
library(InraeThemes)
library(dplyr)
library(ggplot2)
library(gt)
```
```{r}
# Si besoin des couleurs
couleurs_inrae<-rgb(red=c(102,0,39,0,255,157,158,66,121,196),
green=c(193,140,86,0,255,197,214,48,120,192),
blue=c(191,86,98,0,255,68,227,137,112,179),
names=c("vert_inrae_clair","vert_inrae","vert_inrae_fonce","noir","blanc","vert","bleu_clair","bleu_fonce","gris_fonce","gris_clair"),
max= 255)
```
> Résumé de l'analyse
# Premier chapitre
## Première section
### Une sous-section
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
## Seconde section
Ci-dessous un graphique avec theme INRAE :
```{r plot}
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(color = as.factor(gear)))+
scale_color_quant() +
facet_wrap(~am,scales="free") +
geom_smooth(color = couleurs_inrae[1]) +
labs(x = "Valeur de X", y = "Valeur de Y", title = "Titre du graphique", subtitle = "Sous-titre", color = "couleur") +
theme_quant()
```
# Second chapitre
## Première section
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```{r gt}
iris %>%
head(10) %>%
gt() %>% tab_options(
table.width = pct(100)
)
```
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
## Seconde section
Avec insertion de code :
```{r echo = TRUE}
# On charge un package
library(ggplot2)
# On trace un graphique ggplot avec un second theme INRAE
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
scale_fill_quant() +
geom_boxplot(color = "black") +
geom_jitter(shape = 21, color = "black", alpha = 0.6)+
labs(x = "Species", y = "Sepal Length") +
theme_quant()
```
This diff is collapsed.
name: Rapport simplifié INRAE
description: >
Rapport simplifié INRAE
create_dir: FALSE
# [Nom du projet]
Ce projet contient le code, les analyses et les graphiques pour le projet ...
# Description des répertoires :
- `data/` Contient les fichiers de données
- `R/` Contient des scripts bruts R ainsi qu'un fichier de style pour des rapport Rmarkdown.
- `plots/` Contient les graphiques produits lors des analyses
- `reports/` Contient les rapports automatiques et reproductibles (format Rmd)
- `raw` Contient éventuellement des données brutes, lourdes, facultatives qui peuvent être séparées des autres données (ex : Des couches SIG, etc.)
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/create_analysis_dir.R
\name{create_analysis_dir}
\alias{create_analysis_dir}
\title{Create analysis directory template}