std.math
aggregates
added in 3.0
(aggregates arr)(aggregates arr ks)(aggregates arr ks m)finds the aggregates of the array
(aggregates 1 2 3 3 4 5) => (contains {:min 1, :mean 3.0, :stdev 1.4142135623730951, :skew 0.0, :mode 3, :variance 2, :median 3, :max 5, :random number?, :middle 3, :first 1, :last 5, :sum 18, :range 4})
(aggregates 1 2 3 3 4 5 :sum {:product #(apply * %)}) => {:sum 18, :product 360}
combinatorial
added in 3.0
(combinatorial n i)calculates the result of n choose i
(combinatorial 4 2) => 6
(combinatorial 4 3) => 4
factorial
added in 3.0
(factorial n)calculates the factorial of n
(factorial 4) => 24
(factorial 10) => 3628800
histogram
added in 3.0
(histogram xs)(histogram xs n)creates a histogram of values
(histogram 1 2 3 3 5 5 7 7 8 8 9 4) => 4 2 2 3
kurtosis
added in 3.0
(kurtosis xs)(kurtosis xs stdev)calculates the kurtosis of the data
(kurtosis 4 5 2 9 5 7 4 5 4) => (approx 2.4722)
log
added in 3.0
(log b x)calculates the logarithm base b of x
(log 2 2) => 1.0
(log 4 16) => 2.0
log10
added in 3.0
(log10 x)calculates the log base 10 of x
(log10 2) => 0.3010299956639812
(log10 10) => 1.0
loge
added in 3.0
(loge x)calculates the natural log of x
(loge 2) => 0.6931471805599453
(loge 10) => 2.302585092994046
mean
added in 3.0
(mean xs)median
added in 3.0
(median xs)mode
added in 3.0
(mode xs)calculates the most frequent value of a set of data
(mode :alan :bob :alan :greg) => :alan
rand
added in 3.0
(rand)(rand rng)returns a random double between 0 and 1
(rand) ;;0.19755427425784822 => number?
(rand (rand-gen)) ;;0.8479218396605446 => number?
rand-digits
added in 3.0
(rand-digits n)constructs a n digit string
(rand-digits 10) ;; “9417985847” => string?
rand-int
added in 3.0
(rand-int n)(rand-int n rng)returns a random integer less than n
(rand-int 100) ;; 16 => integer?
rand-nth
added in 3.0
(rand-nth coll)(rand-nth coll rng)returns a random element in an array
(rand-nth :a :b :c) => #{:a :b :c}
rand-sample
added in 3.0
(rand-sample coll proportions)rand-seed!
added in 3.0
(rand-seed! seed)(rand-seed! rng seed)sets the seed of a given random number generator
(-> (rand-gen) (rand-seed! 10) (rand)) => (any 0.77132064549269 0.5711645232847797)
skew
added in 3.0
(skew xs)(skew xs stdev)calculates the skewedness of the data
(skew 4 5 2 9 5 7 4 5 4) => (approx 0.5833)
stdev
added in 3.0
(stdev xs)calculates the standard deviation for a set of data
(stdev 4 5 2 9 5 7 4 5 4) => 2.0
variance
added in 3.0
(variance xs)calculates the average of the squared differences from the mean
(variance 4 5 2 9 5 7 4 5 4) => 4