Book Image

Haskell Data Analysis cookbook

By : Nishant Shukla
Book Image

Haskell Data Analysis cookbook

By: Nishant Shukla

Overview of this book

Step-by-step recipes filled with practical code samples and engaging examples demonstrate Haskell in practice, and then the concepts behind the code. This book shows functional developers and analysts how to leverage their existing knowledge of Haskell specifically for high-quality data analysis. A good understanding of data sets and functional programming is assumed.
Table of Contents (19 chapters)
Haskell Data Analysis Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Finding all unique pairings in a list


Comparing all pairs of items is a common idiom in data analysis. This recipe will cover how to create a list of element pairs out of a list of elements. For example, if there is a list [1, 2, 3], we will create a list of every possible pair-ups [(1, 2), (1, 3), (2, 3)].

Notice that the order of pairing does not matter. We will create a list of unique tuple pairs so that we can compare each item to every other item in the list.

How it works…

Create a new file, which we call Main.hs, and insert the code explained in the following steps:

  1. Import the following packages:

    import Data.List (tails, nub, sort)
  2. Construct all unique pairs from a list of items as follows:

    pairs xs = [(x, y) | (x:ys) <- tails (nub xs), y <- ys]
  3. Print out all unique pairings of the following list:

    main = print $ pairs [1,2,3,3,4]
  4. The output will be as follows:

    [(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]
    

See also

We can apply the pairs algorithm to the Using the Pearson correlation coefficient...