mirror of
https://app-learninglab.inria.fr/moocrr/gitlab/da84ababf0696af51bddad556af86353/mooc-rr.git
synced 2026-06-17 17:45:29 +02:00
94 lines
3.8 KiB
Org Mode
94 lines
3.8 KiB
Org Mode
#+TITLE: Your title
|
|
#+AUTHOR: Your name
|
|
#+DATE: Today's date
|
|
#+LANGUAGE: en
|
|
# #+PROPERTY: header-args :eval never-export
|
|
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/htmlize.css"/>
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/readtheorg.css"/>
|
|
#+HTML_HEAD: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
|
#+HTML_HEAD: <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script>
|
|
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
|
|
|
|
* 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, Python code is included as follows (and
|
|
is exxecuted by typing ~C-c C-c~):
|
|
|
|
#+begin_src python :results output :exports both
|
|
print("Hello world!")
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
: Hello world!
|
|
|
|
And now the same but in an Python session. With a session, Python'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~.
|
|
|
|
#+begin_src python :results output :session :exports both
|
|
import numpy
|
|
x=numpy.linspace(-15,15)
|
|
print(x)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
#+begin_example
|
|
[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
|
|
-11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
|
|
-8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143
|
|
-5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694
|
|
-2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245
|
|
0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
|
|
3.36734694 3.97959184 4.59183673 5.20408163 5.81632653
|
|
6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
|
|
9.48979592 10.10204082 10.71428571 11.32653061 11.93877551
|
|
12.55102041 13.16326531 13.7755102 14.3877551 15. ]
|
|
#+end_example
|
|
|
|
Finally, an example for graphical output:
|
|
#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results
|
|
import matplotlib.pyplot as plt
|
|
|
|
plt.figure(figsize=(10,5))
|
|
plt.plot(x,numpy.cos(x)/x)
|
|
plt.tight_layout()
|
|
|
|
plt.savefig(matplot_lib_filename)
|
|
print(matplot_lib_filename)
|
|
#+end_src
|
|
|
|
#+RESULTS:
|
|
[[file:./cosxsx.png]]
|
|
|
|
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.
|
|
|
|
Watch out: the figure generated by the code block is /not/ stored in
|
|
the org document. It's a plain file, here named ~cosxsx.png~. You have
|
|
to commit it explicitly if you want your analysis to be legible and
|
|
understandable on GitLab.
|
|
|
|
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 Python by typing ~<p~, ~<P~ or ~<PP~
|
|
followed by ~Tab~.
|
|
|
|
Now it's your turn! You can delete all this information and replace it
|
|
by your computational document.
|