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
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

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
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

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workkloads.

Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Feature Engineering Transforming Predictive Models
  • Python in Urban Planning
  • Norm of a One-Dimensional Tensor in Python Libraries
  • Top 10 Python Applications Transforming the Real World

Trending

  • AI-Assisted Coding for iOS Development: How Tools like CursorAI Are Redefining the Developer Workflow
  • Why Rate Limiting Matters in Istio and How to Implement It
  • Platform Engineering for Cloud Teams
  • Your Ultimate Website QA Checklist
  1. DZone
  2. Coding
  3. Languages
  4. Using R on Jupyter Notebook

Using R on Jupyter Notebook

By 
Jirapongse Phuriphanvichai user avatar
Jirapongse Phuriphanvichai
·
Updated Dec. 23, 19 · Tutorial
Likes (6)
Comment
Save
Tweet
Share
81.1K 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.

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

  • 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.

Related

  • Feature Engineering Transforming Predictive Models
  • Python in Urban Planning
  • Norm of a One-Dimensional Tensor in Python Libraries
  • Top 10 Python Applications Transforming the Real World

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!