Files
to-hen/statistics.racket/statistics.rkt

15 lines
516 B
Racket
Raw Normal View History

2026-03-14 07:28:30 +01:00
#lang typed/racket
(: sum (-> (Listof Number) Number))
(define (sum list) (foldr + 0 list))
(: mean (-> (Listof Number) Number))
(define (mean sample)
(/ (sum sample) (length sample)))
(: standard-deviation (-> (Listof Number) Number))
(define (standard-deviation sample)
(let* ((degrees-of-freedom (- (length sample) 1))
(sample-mean (mean sample))
(sum-of-squared-errors (sum (map (lambda (xi) (expt (- xi sample-mean) 2)) sample))))
(sqrt (/ sum-of-squared-errors degrees-of-freedom))))