Book Image

Getting Started with Haskell Data Analysis

By : James Church
Book Image

Getting Started with Haskell Data Analysis

By: James Church

Overview of this book

Every business and organization that collects data is capable of tapping into its own data to gain insights how to improve. Haskell is a purely functional and lazy programming language, well-suited to handling large data analysis problems. This book will take you through the more difficult problems of data analysis in a hands-on manner. This book will help you get up-to-speed with the basics of data analysis and approaches in the Haskell language. You'll learn about statistical computing, file formats (CSV and SQLite3), descriptive statistics, charts, and progress to more advanced concepts such as understanding the importance of normal distribution. While mathematics is a big part of data analysis, we've tried to keep this course simple and approachable so that you can apply what you learn to the real world. By the end of this book, you will have a thorough understanding of data analysis, and the different ways of analyzing data. You will have a mastery of all the tools and techniques in Haskell for effective data analysis.
Table of Contents (8 chapters)

Line plots of a single variable

In this section, we'll focus on an introduction to EasyPlot. So, we're going to be installing the gnuplot command-line tool and the EasyPlot Haskell library. EasyPlot is just a Haskell wrapper for gnuplot. It allows us to interact with the gnuplotting utility from within Haskell and our IHaskell environment. We need data, and for that we're going to be pulling data from Yahoo Finance. I like Yahoo Finance because I can obtain the full history of any publicly traded company; and in this section, we're going to end with our first plot. Let's go to our Terminal, but first we need to install gnuplot. The command is as follows:

Now, let's do a cabal update and then cabal install EasyPlot, as shown in the following example:

If you didn't get any error messages, that means you're ready to go. Now we need data;...