- Haskell Data Analysis Cookbook
- Nishant Shukla
- 205字
- 2021-12-08 12:43:36
Implementing a frequency table using Data.MultiSet
A frequency map of values is often useful to detect outliers. We will use an existing library that does much of the work for us.
Getting ready
We will be using the multiset
package from Hackage:
$ cabal install multiset
How to do it...
Create a new file, which we will call Main.hs
, and perform the following steps:
- We will use the
fromList
andtoOccurList
functions fromData.MultiSet
:import Data.MultiSet (fromList, toOccurList)
- Define a simple data type for colors:
data Color = Red | Green | Blue deriving (Show, Ord, Eq)
- Create a list of these colors:
main :: IO () main = do let items = [Red, Green, Green, Blue, Red, Green, Green]
- Implement the frequency map and print it out:
let freq = toOccurList . fromList $ items print freq
- Run the code to display the frequency list:
$ runhaskell Main.hs [ (Red, 2), (Green, 4), (Blue, 1) ]
How it works...
The toOccurList :: MultiSet a -> [(a, Int)]
function creates a frequency map from a list. We construct MuliSet
using the provided fromList
function.
See also
If importing a new library is not desired, see the previous recipe on Implementing a frequency map using Data.List.
推薦閱讀
- Practical Data Analysis Cookbook
- JavaScript從入門到精通(微視頻精編版)
- 工程軟件開發技術基礎
- CockroachDB權威指南
- Monkey Game Development:Beginner's Guide
- Arduino by Example
- INSTANT FreeMarker Starter
- Visual C++數字圖像模式識別技術詳解
- Django開發從入門到實踐
- Selenium Design Patterns and Best Practices
- SEO智慧
- Visual FoxPro程序設計習題集及實驗指導(第四版)
- Learning Concurrent Programming in Scala
- Advanced Express Web Application Development
- 案例式C語言程序設計實驗指導