diff --git a/module2/exo3/exercice_R_en.org b/module2/exo3/exercice_R_en.org index 2b73d64e82dad485ab562f8bda6434ffa7b68d27..2905feec05552fdad633acd17bc80d2ec7c0fdd5 100644 --- a/module2/exo3/exercice_R_en.org +++ b/module2/exo3/exercice_R_en.org @@ -1,81 +1,49 @@ -#+TITLE: Your title -#+AUTHOR: Your name -#+DATE: Today's date +#+TITLE: Plots in org mode #+LANGUAGE: en -# #+PROPERTY: header-args :eval never-export -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -* Some explanations - -This is an org-mode document with code examples in R. Once opened in -Emacs, this document can easily be exported to HTML, PDF, and Office -formats. For more information on org-mode, see -https://orgmode.org/guide/. - -When you type the shortcut =C-c C-e h o=, this document will be -exported as HTML. All the code in it will be re-executed, and the -results will be retrieved and included into the exported document. If -you do not want to re-execute all code each time, you can delete the # -and the space before ~#+PROPERTY:~ in the header of this document. - -Like we showed in the video, R code is included as follows (and is -exxecuted by typing ~C-c C-c~): - -#+begin_src R :results output :exports both -print("Hello world!") -#+end_src +* Plotting + +First we put the dataset in a variable + +#+BEGIN_SRC R :results output :exports src :session *R* +y <- c(14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4, 16.9, + 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2, 9.9, 2.9, 2.8, + 15.4, 15.7, 9.7, 13.1, 13.2, 12.3, 11.7, 16.0, 12.4, + 17.9, 12.2, 16.2, 18.7, 8.9, 11.9, 12.1, 14.6, 12.1, + 4.7, 3.9, 16.9, 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, + 18.0, 13.6, 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, + 16.1, 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3, + 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7, 11.3, + 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9, 20.4, 14.6, + 16.4, 18.7, 16.8, 15.8, 20.4, 15.8, 22.4, 16.2, 20.3, + 23.4, 12.1, 15.5, 15.4, 18.4, 15.7, 10.2, 8.9, 21.0) +df <- data.frame(x = seq(0, length(y)-1), y = y) +#+END_SRC #+RESULTS: -: [1] "Hello world!" -And now the same but in an R session. This is the most frequent -situation, because R is really an interactive language. With a -session, R's state, i.e. the values of all the variables, remains -persistent from one code block to the next. The code is still executed -using ~C-c C-c~. +** Sequence plot -#+begin_src R :results output :session *R* :exports both -summary(cars) -#+end_src +#+BEGIN_SRC R :results output graphics :exports both :file ./sequence_plot.png :width 600 :height 400 :session *R* +library(ggplot2) +ggplot(df, aes(x = x, y = y)) + + geom_line() + + theme_bw() +#+END_SRC #+RESULTS: -: speed dist -: Min. : 4.0 Min. : 2.00 -: 1st Qu.:12.0 1st Qu.: 26.00 -: Median :15.0 Median : 36.00 -: Mean :15.4 Mean : 42.98 -: 3rd Qu.:19.0 3rd Qu.: 56.00 -: Max. :25.0 Max. :120.00 - -Finally, an example for graphical output: -#+begin_src R :results output graphics :file "./cars.png" :exports results :width 600 :height 400 :session *R* -plot(cars) -#+end_src +[[file:./sequence_plot.png]] -#+RESULTS: -[[file:./cars.png]] +** Histogram plot -Note the parameter ~:exports results~, which indicates that the code -will not appear in the exported document. We recommend that in the -context of this MOOC, you always leave this parameter setting as -~:exports both~, because we want your analyses to be perfectly -transparent and reproducible. +#+BEGIN_SRC R :results output graphics :exports both :file ./histogram_plot.png :width 600 :height 400 :session *R* +library(ggplot2) +ggplot(df, aes(x = y)) + + geom_histogram(bins=10) + + theme_bw() +#+END_SRC -Watch out: the figure generated by the code block is /not/ stored in -the org document. It's a plain file, here named ~cars.png~. You have -to commit it explicitly if you want your analysis to be legible and -understandable on GitLab. +#+RESULTS: +[[file:./histogram_plot.png]] -Finally, don't forget that we provide in the resource section of this -MOOC a configuration with a few keyboard shortcuts that allow you to -quickly create code blocks in R by typing ~