Book Image

Haskell Data Analysis Cookbook

By : Nishant Shukla
Book Image

Haskell Data Analysis Cookbook

By: Nishant Shukla

Overview of this book

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