{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Project Jupyter talk for R North-East group\n", "## January 2016" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Jupyter lets you create interactive documents containing text and code + output" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Many languages are supported, including **Ju**lia, **Py**thon and **R**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Good tool for (a) documenting an analysis in one file (b) interactive R use" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The main interface is the \"Jupyter notebook\" - a web app that runs in the browser" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Project background\n", "\n", "Jupyter is an open source project written in Python\n", "\n", "It's a spin-off of \"IPython\" - similar project for notebooks containing Python code only \n", "\n", "R support is quite new so not a lot of documentation yet!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Notebook file format\n", "\n", "Notebooks are stored as JSON objects \n", "\n", "These contain full details of current session\n", "\n", "So you can immediately view someone's analysis by opening a file\n", "\n", "And then modify and rereun parts if you choose" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Notebook capabilities\n", "\n", "Below I list some things that a Jupyter notebook can display" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Input can be plain text" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Or markdown, allowing for easy formatting features" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "e.g. \n", "\n", "1. _italics_, **bold** \n", "2. Equations (using latex): \n", "$\\int_{-\\infty}^\\infty e^{-\\theta^2} \\sin \\theta\\ d\\theta$\n", "3. Lists!\n", "4. [Hyperlinks](https://en.wikipedia.org/wiki/Hyperlink)\n", "5. Raw HTML:
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Explanatory text can be mixed with code." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let's estimate $\\int_0^1 x^3 dx$ by Monte Carlo integration (correct answer is 0.25)\n", "\n", "i.e. I'll simulate uniform random points in the unit square and find the proportion below the graph of $x^3$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "0.247" ], "text/latex": [ "0.247" ], "text/markdown": [ "0.247" ], "text/plain": [ "[1] 0.247" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 1000; x = runif(n, 0, 1); y = runif(n, 0, 1)\n", "mean(y < x^3)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "library(repr)\n", "options(repr.plot.width=10, repr.plot.height=4)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "scrolled": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
    \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\end{enumerate*}\n" ], "text/markdown": [ "\n", "\n" ], "text/plain": [ "numeric(0)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAHgCAYAAAC1l5SfAAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nOzdedgtV1nn/W+dk5zMQEJkCBIiM9hKRBAIg69AO0BQaAzSjaCACdC8jCJBXxXkVUGDNCAzAkJEWmJECEJk0iAEBDSNEOZRBkUISUzIAElW/1HP5uxTp4a1qtZcv8917Ss5z65dda+hpnuvWhtERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERExN3u1AEkcihwQ8AA30kci4iIiIiIiIiICPcEXgN8CriINnG1eX0b+AzwXOCHUgUoIiIiIiIiIiL9mtQBBNYALwNO3vn3xcBngW8BlwBHAEcCNwWO2lnm1TvLXx01UhERERERERER6XVA6gACexxtMupDwFOAc4GrepbbDdwB+F3g4bQjtf4gUozQJtpOAA6JuE0RERERERERqdvlwPtSB+FD7SOwPgB8P3Bz4AqL5Q+gTXYdDtwiYFxdd9jZroiIiIiIiIiIT3cEPpw6iKVqH4F1W+BvsUteQTs66xzgMcEi6rdn578HoUnlRURERERERGS5PcCV7M05FG1X6gAC+xhwZ+Bgy+V3A3cHvhwsIhERERERERERcVJ7Aut1tI8Qvge4B8MjznYDPwacDdweeGWU6EREREREREREZFLtjxC+GLgd7UTu59D+CuFn2PsrhIfT/grhzdn7K4SnA6dFj1RERERERERERFbtXrSJqU/TJq7M1usy4LPA82iTXSmcsBNLFc+lioiIiIiIiEhye2hzDSekDsSH2kdgbbxr57VxOHBd4EL2JrRERGrRd0zz9auzQ8fL2n/VVmSjuw+o70sMIY/raxF6313L+dFQX5mkHmvZD1drLQmsrkt3XpKHsQSiDjb52G6n0tplTTecQ/uTjwvOsX1VF7SyBn37gPq+2JqbhAp5XF+LoX0X/NRh7efHbvl81p2IL7Xvh0L9k7hL/qZGv2l0XHqbx22n/pajoThLiH2OWstlw/S8ShMj/iXbCBFfSe02dWFcqlLqv3RjSag5n7N9X/KooxximKvWY5+IJ+YAML91DF81YN4E5tqpI6rZWkdgDTkGeOvO/x+/YD3XA/4EOMRy+aN3/qussIgdH9/8rfGbGJsyLxmtlqpOSx+dECv+JaOHQoxeKL3dukqMO/SoFGnpJj9vJe67OZlzbYHFZ0RcJDrOmmPvxnu/9F7uxtc4BuBnn8WvX/Q0oFEfD0IJrH3twc9E7lcA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", "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", "\n", "\n" ], "text/plain": [ "plot without title" ] }, "metadata": { "image/svg+xml": { "isolated": true } }, "output_type": "display_data" } ], "source": [ "xx = seq(0,1,length.out=100)\n", "plot(x,y, col=1 + (y `New Notebook` -> `R`\n", "\n", "More details are in the [Jupyter basics documentation](http://jupyter-notebook.readthedocs.org/en/latest/examples/Notebook/rstversions/Notebook%20Basics.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Features\n", "\n", "* Code highlighting\n", "* Tab completion\n", "* Keyboard shortcuts\n", "* Cells with large code output can be hidden" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Sharing notebooks\n", "\n", "## Exporting\n", "\n", "The `File` -> `Download as` menu has lots of export options including:\n", "\n", "* PDF\n", "* HTML\n", "* Markdown\n", "* R code (just exports code)\n", "\n", "More options are available (e.g. latex) by using the `nbconvert` command line tool" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Sharing\n", "\n", "* Notebooks can be viewed through a browser without installing any software locally\n", "\n", "* Using [nbviewer](https://nbviewer.jupyter.org/)\n", "\n", "* Notebooks on github are automatically displayed using this\n", "\n", "* Also a multi-user Jupyter server exists, [jupyterhub](https://github.com/jupyter/jupyterhub)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Export to slides\n", "\n", "* A notebook can be directly exported to slides via `nbconvert`\n", "* This is based on `reveal.js`\n", "* Unfortunately my experience from writing these slides is that this is slightly buggy, at least for R\n", " * e.g. axis labels missing on earlier graph" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Advance features\n", "\n", "(aka features I don't understand yet!)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Possible to mix cells using different languages\n", "* [RISE](https://github.com/damianavila/RISE) extension allowing live code execution within a slideshow" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Conclusion\n", "\n", "## Pros\n", "\n", "* Great way to write up an analysis as a single document with code, explanation and plots\n", "* Also a nice interface for simple interactive analysis\n", "* Browser based, so both interface and documents are highly portable\n", "* Easy to export notebook to other formats" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Cons\n", "\n", "* Jupyter still quite new\n", " * Installation can take some effort\n", " * Documentation and online support for R kernel limited\n", "* Browser interface not as powerful as IDEs like RStudio\n", "* Version control a bit complicated for this file format\n", "\n", "## Limitations\n", "\n", "* Traditional editor better for R programming (developing packages etc)\n", "* `knitr` better for automatic report generation" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Further resources\n", "\n", "* [Jupyter website](http://jupyter.org/) - including installation details\n", "* [General Jupyter examples and tutorials](http://jupyter-notebook.readthedocs.org/en/latest/examples/Notebook/rstversions/Examples%20and%20Tutorials%20Index.html)\n", "* [R kernel website](http://irkernel.github.io/) - including installation details\n", "* The notebook help menu is very useful, especially the user interface tour and list of keyboard shortcuts.\n", "* [Blog post](http://blog.revolutionanalytics.com/2015/09/resizing-plots-in-the-r-kernel-for-jupyter-notebooks.html) on resizing R plots in Jupyter\n", "* [Blog post](http://www.damian.oquanta.info/posts/make-your-slides-with-ipython.html) on making slide shows using Jupyter\n", "* [Gallery](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks) of Jupyter notebooks on github - **none using R yet!**\n", "\n", "These slides are at https://github.com/dennisprangle/R-North-East-Talk-2016" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.2.3" } }, "nbformat": 4, "nbformat_minor": 0 }