Skip to content

Instantly share code, notes, and snippets.

@w01fe
w01fe / univariate_stats_graph_attempt.clj
Created September 28, 2012 23:27
Univariate stats as Graph: first attempt
(def almost-stats-graph
{:n (fn [xs] (count xs))
:m (fn [xs n] (/ (sum identity xs) n))
:m2 (fn [xs n] (/ (sum #(* % %) xs) n))
:v (fn [m m2] (- m2 (* m m)))})
@w01fe
w01fe / univariate_stats.clj
Created September 28, 2012 23:25
Univariate stats example: as 'let'
;; Take a map {:xs xs} and return a map
;; of simple univariate statistics of xs
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum identity xs) n)
m2 (/ (sum #(* % %) xs) n)
v (- m2 (* m m))]
{:n n ; count
:m m ; mean
:m2 m2 ; mean square
(defmacro <- [& body]
`(-> ~(last body) ~@(butlast body)))
(deftest <--test
(is (= [2 3]
(-> {1 1}
(assoc 3 4)
(update-in [1] inc)
(->> (map-vals dec)
(map-keys inc)
(def fib-var-obj
(fn [x]
(if (< x 2)
1
(+ (fib-var-obj (- x 1))
(fib-var-obj (- x 2))))))
(defn fib-lex-obj [x]
(if (< x 2)
1