From df36af407171e1c0a85d0cd6a32dfdc23c11c5ef Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent@modolo.fr> Date: Thu, 28 Nov 2019 17:45:22 +0100 Subject: [PATCH] add Rmarkdown presentation --- session_n/img/rmarkdownflow.png | Bin 0 -> 16836 bytes session_n/slides.Rmd | 290 ++++++++++++++++++++++++++++++++ session_n/slides_example.Rmd | 35 ++++ 3 files changed, 325 insertions(+) create mode 100644 session_n/img/rmarkdownflow.png create mode 100644 session_n/slides.Rmd create mode 100644 session_n/slides_example.Rmd diff --git a/session_n/img/rmarkdownflow.png b/session_n/img/rmarkdownflow.png new file mode 100644 index 0000000000000000000000000000000000000000..324b9395ad8c8cc277ff669a179fa8e0c1a1c525 GIT binary patch literal 16836 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�HXmH23m7hV*HSuBGKwNckBMiQN+k; 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 literal 0 HcmV?d00001 diff --git a/session_n/slides.Rmd b/session_n/slides.Rmd new file mode 100644 index 0000000..c228a66 --- /dev/null +++ b/session_n/slides.Rmd @@ -0,0 +1,290 @@ +--- +author: "Laurent Modolo [laurent.modolo@ens-lyon.fr](mailto:laurent.modolo@ens-lyon.fr)" +date: "08 Nov 2019" +output: + beamer_presentation: + theme: metropolis + slide_level: 2 + fig_caption: no + df_print: tibble + highlight: tango + latex_engine: xelatex + slidy_presentation: + highlight: tango +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = FALSE) +``` + +## R Markdown + +R Markdown provides an unified authoring framework for data science, combining your code, its results, and your prose commentary. R Markdown documents are fully reproducible and support dozens of output formats, like PDFs, Word files, slideshows, and more. + +You need the `rmarkdown` package, but you don’t need to explicitly install it or load it, as RStudio automatically does both when needed. + + +```{r logical_operator, echo=FALSE, out.width='100%'} +knitr::include_graphics('img/rmarkdownflow.png') +``` + +## R Markdown + +R Markdown files are designed to be used in three ways: + +- For communicating to decision makers, who want to focus on the conclusions, not the code behind the analysis. +- For collaborating with other data scientists (including future you!), who are interested in both your conclusions, and how you reached them ( i.e. the code). +- As an environment in which to do data science, as a modern day lab notebook where you can capture not only what you did, but also what you were thinking. + +## Markdown language +Text formatting + +`*italic*` or `_italic_` + +- *italic* or _italic_ + +`**bold**` `__bold__` + +- **bold** __bold__ + +`` `code` `` + +- `code` + +`superscript^2^` and `subscript~2~` + +- superscript^2^ and subscript~2~ + +## Markdown language + +Headings +``` +# 1st Level Header + +## 2nd Level Header + +### 3rd Level Header +``` + +## Markdown language +Lists + +``` +* Bulleted list item 1 +* Item 2 + * Item 2a + * Item 2b + +1. Numbered list item 1 +1. Item 2. The numbers are incremented automatically in the + output. +``` + +## Markdown language +Links and images + +``` +<http://example.com> + +[linked phrase](http://example.com) + + +``` + +## Markdown language +Tables + +``` +First Header | Second Header +------------- | ------------- +Content Cell | Content Cell +Content Cell | Content Cell +``` + +## Rmarkdown: markdown meet R + +**R code will be evaluated and printed** + +```` ```{r} ```` +```{r}`r ''` +summary(cars$dist) +``` +```` ``` ```` + + +```{r} +summary(cars$dist) +``` + +## Rmarkdown: markdown meet R + +**Inline R Code** + +There were `` `r `` `nrow(cars)` `` ` `` cars studied + +There were `r nrow(cars)` cars studied + +When inserting numbers into text use `format()` + +## Chunk options + +Chunk output can be customised with options, arguments supplied to chunk header. Knitr provides almost 60 options that you can use to customize your code chunks. + +Option | Run code | Show code | Output | Plots | Messages | Warnings +-------------------|----------|-----------|--------|-------|----------|--------- +`eval = FALSE` | - | | - | - | - | - +`include = FALSE` | | - | - | - | - | - +`echo = FALSE` | | - | | | | +`results = "hide"` | | | - | | | +`fig.show = "hide"`| | | | - | | +`message = FALSE` | | | | | - | +`warning = FALSE` | | | | | | - + +## Rmarkdown: `kable` + +The tables syntax is tedious to use... + +``` +First Header | Second Header +------------- | ------------- +Content Cell | Content Cell +Content Cell | Content Cell +``` + +\pause + +do it in R ! + +```` ```{r kable} ```` +```{r}`r ''` +knitr::kable( + mtcars[1:5, 1:5], + caption = "A knitr kable." +) +``` +```` ``` ```` + +## Rmarkdown: `kable` + +do it in R ! + +```{r kable} +knitr::kable( + mtcars[1:5, 1:5], + caption = "A knitr kable." +) +``` + +## Caching + +Each knit of a document starts from a completely clean slate. + +- This is great for reproducibility +- ensures that you’ve captured every important computation in code. +- can be painful if you have some computations that take a long time + +The solution is `cache = TRUE` + +## Caching + +```` ```{r raw_data} ```` +```{r}`r ''` +rawdata <- readr::read_csv("a_very_large_file.csv") +``` +```` ``` ```` + +```` ```{r processed_data, cache = TRUE, dependson = "raw_data"} ```` +```{r}`r ''` +processed_data <- rawdata %>% + filter(!is.na(import_var)) %>% + mutate(new_variable = complicated_transformation(x, y, z)) +``` +```` ``` ```` + +## YAML Header + +You can control many “whole document†settings by tweaking the parameters of the YAML header + +``` +--- +author: "Laurent Modolo" +date: "28 Nov 2019" +output: + beamer_presentation: + theme: metropolis + highlight: tango + latex_engine: xelatex + slidy_presentation: + highlight: tango +--- +``` + +## Bibliographies and Citations + +Pandoc can automatically generate citations and a bibliography in a number of styles. + +``` +bibliography: rmarkdown.bib +``` + +You can change the style of your citations and bibliography by referencing a CSL (citation style language) file in the csl field: + +``` +bibliography: rmarkdown.bib +csl: apa.csl +``` + +## Bibliographies and Citations + +User the bibtex key: +``` +Blah blah [@smith04]. +``` + +Separate multiple citations with a `;`: +``` +Blah blah [@smith04; @doe99]. +``` + +You can add arbitrary comments inside the square brackets: +``` +Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1]. +``` + +Remove the square brackets to create an in-text citation: +``` +says blah, or @smith04 [p. 33] says blah. +``` + +Add a `-` before the citation to suppress the author's name: +``` +Smith says blah [-@smith04]. +``` + +## Rmarkdown is not just for R + + +```` ```{bash} ```` +``` +ls -l +``` +```` ``` ```` + +```{bash} +ls -l +``` + +## Rmarkdown is not just for R + +```` ```{python} ```` +``` +x = 1 ** 4 +print(x) +``` +```` ``` ```` + +```{python} +x = 10 ** 4 +print(x) +``` + diff --git a/session_n/slides_example.Rmd b/session_n/slides_example.Rmd new file mode 100644 index 0000000..cd67f17 --- /dev/null +++ b/session_n/slides_example.Rmd @@ -0,0 +1,35 @@ +--- +title: "rmarkdown" +output: + beamer_presentation: default + ioslides_presentation: default +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = FALSE) +``` + +## R Markdown + +This is an R Markdown presentation. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. + +When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. + +## Slide with Bullets + +- Bullet 1 +- Bullet 2 +- Bullet 3 + +## Slide with R Output + +```{r cars, echo = TRUE} +summary(cars) +``` + +## Slide with Plot + +```{r pressure} +plot(pressure) +``` + -- GitLab