DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Structured Logging
  • The Role of AI and Programming in the Gaming Industry: A Look Beyond the Tables
  • How to LINQ Between Java and SQL With JPAStreamer

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Structured Logging
  • The Role of AI and Programming in the Gaming Industry: A Look Beyond the Tables
  • How to LINQ Between Java and SQL With JPAStreamer
  1. DZone
  2. Coding
  3. Languages
  4. Using R on Jupyter Notebook

Using R on Jupyter Notebook

Jirapongse Phuriphanvichai user avatar by
Jirapongse Phuriphanvichai
CORE ·
Updated Dec. 23, 19 · Tutorial
Like (6)
Save
Tweet
Share
76.32K Views

Join the DZone community and get the full member experience.

Join For Free

Image title

Overview

R is an interpreted programming language for statistical computing and graphics supported by the R Foundation. It is widely used among statisticians and data miners for developing statistical software and data analysis.

R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows, and macOS.

According to the information from stack overflow in 2017, the R programming language had shown outstanding growth from 2016 to 2017. The growth of R could be explained by the popularity of data science.

Yoy growth of language searches

Yoy growth of language searches


Typically, most R developers use R Studio as a tool to develop R applications and display results. This article provides an alternative via Jupyter Notebook.

You may also like: Top 10 Reasons to Learn R.

Jupyter Notebook

Jupyter Notebook is an open source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. It can be used as a tool for interactively developing and presenting data science projects. Mostly, it is used with Python, but it is possible to use Jupyter Notebook with different programming languages, including R. For a list of supported programming languages, please refer to the Jupyter kernels page in GitHub.

This article explains steps to setup Jupyter Notebook for R on Windows 10 and provides links to R examples that demonstrate how to use Refinitiv’s APIs with Jupyter Notebook.

Setting Up Jupyter Notebook for R

There are several ways to setup Jupyter Notebook for R. The following steps are suitable for Windows 10 machines, which don’t have any versions of R and Python installed. For other installation methods, please refer to R, Python, and Jupyter websites.

1. Install R

The precompiled binary distributions of R packages (Linux, Mac OS X, and Windows) are available at the Comprehensive R Archive Network [CRAN]. Download R for Windows and then install it on the machine. After that, both R 32bit and 64bit are installed on the machine. In this article, R 3.6.1 64bit is used.

R console

R console

2. Install Python

Python packages are available at the Python website. It supports many operating systems, such as Windows, Linux/Unix, and Mac OS X.

Download the Windows version and then install it on the machine. In this article, Python 3.7.4 64bit is used. You need to verify the installation path or choose the Add Python 3.7 to PATH option to add the Python installation path to the PATH environment variable.

However, the Add Python 3.7 to PATH option may introduce version conflicts among the installed Python versions. If you have multiple versions of Python installed on the machine, please beware of this option.

Installing Python and adding to PATH

Installing Python and adding to PATH

After installing, open the Windows Command Prompt to verify the version of Python (python  -- version).

Checking version of Python

Checking version of Python

You may install different Python Distributions, such as Anaconda. Please refer to the Anaconda website for more information.

3. Install Jupyter Notebook

Jupyter Notebook can be installed with the pip command. Open the Windows Command Prompt and use the following commands to install Jupyter Notebook.

python -m pip install --upgrade

pip python -m pip install jupyter 

Installing Jupyter Notebook

Installing Jupyter Notebook

Then, run jupyter notebook from the Windows Command Prompt to start the Jupyter Notebook. 

At this time, the Jupyter Notebook only supports Python 3.

Jupyter Notebook UI

Jupyter Notebook UI

For different Python distributions, please refer to the distribution websites regarding how to install Jupyter Notebook.

4. Install R kernel for Jupyter Notebook

Jupyter Notebook has kernels that are processes that run interactive code in a particular programming language and return output to the user. IRkernel is an R kernel for Jupyter Notebook.

IRkernel can be installed via the Comprehensive R Archive Network [CRAN]. Open the R x64 GUI and follow these steps.

Installing via CRAN

You can install the IRkernel package by running to the following command in an R console:

 install.packages('IRkernel') 

Installing IRkernel

Installing IRkernel

Making the kernel available to Jupyter

Then, you will have to make Jupyter see the newly installed R kernel by installing a kernel spec. To install system-wide, set user to False in the installspec command:

 IRkernel::installspec(user = FALSE) 

Installing system-wide

Installing system-wide

Then, run  jupyter notebook via the Windows Command Prompt. Now, the Jupyter Notebook supports both Python 3 and R programming languages.

Jupyter now supporting R

Jupyter now supporting R

Refinitiv’s APIs Examples

The section provides links to R examples that use different Refinitv’s APIs to retrieve and display financial data on Jupyter Notebook. The examples are available GitHub and the valid credentials are required to run the examples.

1. Eikon Data API R Example

Eikon is a set of software products provided by Refinitiv for financial professionals to monitor and analyze financial information. It provides access to real-time market data, news, fundamental data, analytics, trading, and messaging tools. 

It also provides Eikon Data API to access Eikon data directly from any application running on the same Eikon desktop. The data retrieved by Eikon Data API includes real-time, fundamental, historical, symbology, and news data.

Eikon

Eikon

This example demonstrates how to use Eikon Data API with R on Jupyter Notebook to retrieve the latest data, historical data, symbology, and news. It uses the eikonapir package to retrieve data from Eikon and uses the Plotly package to draw charts. It also uses the IRDisplay package to display news in HTML format.

2. DataStream R Example

Datastream is the world’s leading time-series database, enabling strategists, economists, and research communities access to the most comprehensive financial information available. With histories back to the 1950s, you can explore relationships between data series; perform correlation analysis, test investment and trading ideas and research countries, regions, and industries. 

It provides the Datastream Web Service (DSWS) API to access Datastream content based on SOAP/XML, REST/JSON, and .NET.

Datastream

Datastream
 

This example demonstrates how to use DataStream Web Service with R on Jupyter Notebook. It uses the DatastreamDSWS2R package to retrieve data from DataStream Web Service and uses the Plotly package to draw charts.

3. Refinitiv Data Platform R Example

Refinitiv Data Platform (RDP) is a cloud-based product from Refinitiv. This product provides financial data and associated analytics that’s used by financial professionals globally. This data includes real-time data from various stock exchanges around the world as well as reference and historical data.

RDP includes simple standard REST-based APIs for accessing this financial data. The requested data is delivered using a Request-Response mechanism. An application uses a web request (HTTP GET, POST, PUT or DELETE) to convey the request message and parameters, and the RDP service responds with data synchronously.

Elektron Data Platform

Refinitiv Data Platform

This example demonstrates how to retrieve historical data from the Refinitiv Data Platform with R on Jupyter Notebook. It uses the httr package to send HTTP request messages and uses the Plotly package to draw charts.

References

  1. “R (programming language)”, Wikipedia, https://en.wikipedia.org/wiki/R_(programming_language).
  2. “The R Project for Statistical Computing”, https://www.r-project.org/.
  3. “The Python official website”, https://www.python.org.
  4. “Anaconda Distribution”, https://www.anaconda.com/distribution/.
  5. “Installing the Jupyter Software”, https://jupyter.org/install.
  6. “R kernel for Jupyter Notebook”, https://irkernel.github.io/.
  7. “Refinitiv Eikon Data API”, https://developers.refinitiv.com/eikon-apis/eikon-data-api.
  8. “Refinitiv Datastream Web Service”, https://developers.refinitiv.com/eikon-apis/datastream-web-service.
  9. “Refinitiv Data Platform”, https://developers.refinitiv.com/refinitiv-data-platform/refinitiv-data-platform-apis
  10. “Getting Started with Plotly in R”, https://plot.ly/r/getting-started/.
  11. Robinson, David. “The Impressive Growth of R”, stack overflow, 10 October 2017, https://stackoverflow.blog/2017/10/10/impressive-growth-r/.
  12. Pryke, Benjamin. “Jupyter Notebook for Beginners: A Tutorial”, Data Science Tutorials, 22 August 2019, https://www.dataquest.io/blog/jupyter-notebook-tutorial/.


Further Reading

  • Top 5 Courses to Learn R Programming.
  • How to Write R Script Explained with an Awesome Example.
  • How to Use R for Conjoint Analysis.
R (programming language) jupyter notebook Data science Python (language)

Opinions expressed by DZone contributors are their own.

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Structured Logging
  • The Role of AI and Programming in the Gaming Industry: A Look Beyond the Tables
  • How to LINQ Between Java and SQL With JPAStreamer

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: