統計をゆっくり勉強してて、適当に走り書きしたもの
(defun stdevp (&rest ns)
(let* ((denom (length ns))
(mean (/ (apply #'+ ns) denom)))
(labels ((sq (n) (* n n)))
(sqrt (/ (reduce
#'(lambda (a b) (+ a (sq (- b mean))))
(cons 0 ns))
denom)))))
reduceにns渡すとき0をコンスしてるの0が加法単位元だから。
あと0除算を防いでない