Jupyter

Table of Contents

Additional Jupyter resources or tricks

Tips and tricks

The following webpage lists several Jupyter tricks (in particular, it illustrates many Ipython magic commands) that should improve your efficiency (note that this blog post is about two years old so some of the tricks may have been integrated in the default behavior of jupyter now).

Running R and Python in the same notebook

The best solution to this is to install rpy2. On my machine, I have installed the python3-rpy2 debian package with apt-get install. E.g.,

sudo apt-get install python3-rpy2 python3-tzlocal

An other (not really recommanded) alternative consists in going through the python package manager with

pip3 install rpy2

Then you'll be able to use both languages in the same notebook by:

  1. Loading rpy2:

    %load_ext rpy2.ipython
    
  2. Using the %R Ipython magic:

    %R 
    summary(cars)
    

    Python objects can then even be passed to R as follows (assuming df is a pandas dataframe):

    %%R -i df
    plot(df)
    

Exporting a notebook

Obviously, you can convert to html or pdf using the using the File > Download as > HTML (or PDF) menu option. This can also be done from the command line with the following command:

ipython3 nbconvert --to pdf Untitled.ipynb

If you want to use a specific style, then the nbconvert exporter should be customised. This is discussed and demoed here. We encourage you to simply read the doc of nbconvert.

Instead of going directly through LaTeX and playing too much with the nbconvert exporter, an other option consists in exporting to Markdown and playing with pandoc. Both approaches work, it's rather a matter of taste.

Installing Jupyter on your own machine

Installing jupyter

Follow these instructions if you wish to have a similar Jupyter environment on you own machine.

First, download and install Miniconda latest version. We use Miniconda version 4.5.4 on our server .
Miniconda is a light version of Anaconda which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.

Then download the moocrr environment file and create it using conda:

conda env create -f environment.yml

# Windows activate the environment
activate mooc_rr

# Linux and MacOS activate the environment
source activate mooc_rr

jupyter notebook

Exporting your notebooks with latex

Here is what I had to install on my recent debian machine to make sure the notebook export via latex works:

sudo apt-get install wkhtmltopdf
sudo apt-get install texlive-xetex

Interesting extensions to improve notebook readability

Here are two interesting extensions that can improve readability:

  • Code folding

    pip3 install jupyter_contrib_nbextensions
    # jupyter contrib nbextension install --user # not done yet
    
  • Hiding code

    sudo pip3 install hide_code
    sudo jupyter-nbextension  install --py hide_code
    jupyter-nbextension  enable --py hide_code
    jupyter-serverextension enable --py hide_code