Awesome Open Source
Awesome Open Source

Data Science Engineering, your way

Join the chat at

An introduction to different Data Science engineering concepts and Applications using Python and R

These series of tutorials on Data Science engineering will try to compare how different concepts in the discipline can be implemented in the two dominant ecosystems nowadays: R and Python.

We will do this from a neutral point of view. Our opinion is that each environment has good and bad things, and any data scientist should know how to use both in order to be as prepared as posible for job market or to start personal project.

To get a feeling of what is going on regarding this hot topic, we refer the reader to DataCamp's Data Science War infographic. Their infographic explores what the strengths of R are over Python and vice versa, and aims to provide a basic comparison between these two programming languages from a data science and statistics perspective.

Far from being a repetition from the previous, our series of tutorials will go hands-on into how to actually perform different data science taks such as working with data frames, doing aggregations, or creating different statistical models such in the areas of supervised and unsupervised learning.

We will use real-world datasets, and we will build some real data products. This will help us to quickly transfer what we learn here to actual data analysis situations.

If your are interested in Big Data products, then you might find interesting our series of tutorials on using Apache Spark and Python or using R on Apache Spark (SparkR).


This is a growing list of tutorials explaining concepts and applications in Python and R.

Introduction to Data Frames

An introduction to the basic data structure and how to use it in Python/Pandas and R.

Exploratory Data Analysis

About this important task in any data science engineering project.

Dimensionality Reduction and Clustering

About using Principal Component Analysis and k-means Clustering to better represent and understand our data.

Text Mining and Sentiment Classification

How to use text mining techniques to analyse the positive or non-positive sentiment of text documents using just linear methods.


These are some of the applications we have built using the concepts explained in the tutorials.

A web-based Sentiment Classifier using R and Shiny

How to build a web applications where we can upload text documents to be sentiment-analysed using the R-based framework Shiny.

Building Data Products with Python

Using a wine reviews and recommendations website as a leitmotif, this series of tutorials, with its own separate repository tagged by lessons, digs into how to use Python technologies such as Django, Pandas, or Scikit-learn, in order to build data products.

Red Wine Quality Data analysis with R

Using R and ggplot2, we perform Exploratory Data Analysis of this reference dataset about wine quality.

Information Retrieval algorithms with Python

Where we show our own implementation of a couple of Information Retrieval algorithms: vector space model, and tf-idf.

Kaggle - The Analytics Edge (Spring 2015)

My solution to this Kaggle competition. It was part of the edX MOOC The Analitics Edge. I highly recommend this on-line course. It is one of the most applied I have ever taken about using R for data anlysis and machine learning.


Contributions are welcome! For bug reports or requests please submit an issue.


Feel free to contact me to discuss any issues, questions, or comments.


This repository contains a variety of content; some developed by Jose A. Dianes, and some from third-parties. The third-party content is distributed under the license provided by those parties.

The content developed by Jose A. Dianes is distributed under the following license:

Copyright 2016 Jose A Dianes

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (51,962
jupyter-notebook (6,027
machine-learning (3,528
r (2,288
tutorial (954
data-science (866
jupyter (271
notebook (139
exploratory-data-analysis (28
data-frame (18

Find Open Source By Browsing 7,000 Topics Across 59 Categories