2012-04-26

Histogram in Clojure

學到 (rand-int) 的時候,想說應該驗證一下亂數產生器的分佈夠不夠均勻,可是不知道怎麼寫 histogram. 下面的程式參考了 Along Came Betty:
(def randmap (for [x (range 100)] (rand-int 10)))
==> #'user/randmap
(reduce (fn [m w] (assoc m w (+ 1 (m w 0)))) {} randmap)
==> {0 9, 1 7, 2 11, 3 14, 4 9, 5 7, 6 11, 7 11, 8 9, 9 12}
覺得 0 1 2 3 ... 礙眼?
(vals (reduce (fn [m w] (assoc m w (+ 1 (m w 0)))) {} randmap))
==> (9 7 11 14 9 7 11 11 9 12)
嗯,看來這個亂數產生器不夠靠譜 XD

沒有留言: