Skip to main content
Statistics LibreTexts

A.9: Jupyter notebook

  • Page ID
    49898
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Draft

    Jupyter notebook, python. A “web-based computational environment”

    Project homepage: https://jupyter.org/

    Wikipedia

    Besides the python kernel, Jupyter kernels include

    Cytoscape

    SageMATH

    and, of course R, which along with python and Julia, is one of the core programming languages available in Jupyter. We present how to install the IRkernel on this page.

    In the cloud

    Access to Jupyter notebook was discussed for running R in the cloud.

    Local installation

    # install latest python 3.12.4
    # https://www.python.org/

    # https://www.python.org/downloads/windows/
    # macOS universal installer
    # https://www.python.org/downloads/macos/

    # default python on macOS
    # see how to bash alias at https://stackoverflow.com/questions/...to-3-x-on-os-x

    # Open terminal
    python3 –version
    python3 -m pip –version
    # pip3 install jupyterlab

    pip install jupyterlab
    jupyter lab
    browser opens http://localhost:8888/lab

    Install IRkernel from CRAN

    # Run R in terminal as administrator
    sudo R
    # At R prompt enter
    install.packages(“IRkernel”)
    # Making the kernel available to Jupyter
    IRkernel::installspec(user = FALSE)

    Run R as Jupyter Notebook

    In the terminal, type at the bash shell line

    jupyter lab
    Screenshot of terminal with Jupyter lab command entered.
    Figure \(\PageIndex{1}\): Screenshot of terminal with Jupyter lab command.

    Set working drive, then load kernel. Select the R kernel and create a new Notebook, Figure \(\PageIndex{2}\) (i.e., don’t select a Console).

    Screenshot of Jupyter Lab launcher, with headings for Notebook, Console, and Other. Select the R icon under Notebook to set IRkernel.
    Figure \(\PageIndex{2}\): Screenshot of Jupyter Lab launcher. Select R icon under Notebook to set IRkernel.

    You should be ready to go.

    Screenshot of Jupyter Notebook running the IRkernel.
    Figure \(\PageIndex{3}\): Screenshot of Jupyter Notebook running the IRkernel.
    Screenshot of Jupyter Console running the IRkernel.
    Figure \(\PageIndex{4}\): Screenshot of Jupyter Console running the IRkernel.

    It’s easy to switch kernels. Let’s say you started Jupyter Lab and notice that Python is running (Fig. \(\PageIndex{5}\)). Click on the kernel name — see green arrow in Figure \(\PageIndex{5}\) — to bring up a popup menu, Fig \(\PageIndex{6}\).

    Screenshot of Jupyter Lab running the Python kernel. A green arrow in the top right corner of the screen points out the kernel identity.
    Figure \(\PageIndex{5}\): Screenshot of Notebook with Python set as kernel.
    Popup menu titled "Select Kernel", showing that the current kernel is Python 3.
    Figure \(\PageIndex{6}\): Screenshot of select kernel popup menu.

    Click on the drop arrow and select R kernel (figure \(\PageIndex{7}\)), then click on blue Select button.

    The dropdown menu showing the different kernel options.
    Figure \(\PageIndex{7}\): Screenshot of installed kernels.

    Once you select the R kernel from the dropdown, the kernel should be been successfully switched, as shown in Figure \(\PageIndex{8}\).

    Screenshot of Jupyter Notebook showing that the kernel has been set to R.
    Figure \(\PageIndex{8}\): Kernel successfully switched to R.

    This page titled A.9: Jupyter notebook is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Michael R Dohm.

    • Was this article helpful?