In article <no_spam-7132D1.13101030032005 / news1.east.earthlink.net>, peajoe <no_spam / invalid.net> wrote: > Hi Everybody, > > I am looking to do some basic statistics in ruby. Mean, Variance, > Standard deviation, etc. Does anyone know if there is a gem or a > library available for this? > > More exactly, I want to take test scores for students and conver them to > A, B, C, D, F. In order to calculate Grade Point Averages. > > > Thank you, > > > peajoe Don't know if this will meet your needs, it's not fancy but it works for me... class SimpleStats attr_reader :n, :sampleMean, :min, :max def initialize reset end def reset @n = 0 @min = 1.0 / 0.0 @max = -@min @sumsq = @sampleMean = @min / @min end def newObs(datum) x = datum.to_f @max = x if !@max || x > @max @min = x if !@min || x < @min @n += 1 if (@n > 1) delta = x - sampleMean @sampleMean += delta / @n @sumsq += delta * (x - @sampleMean) else @sampleMean = x @sumsq = 0.0 end end def sampleVariance @sumsq / (@n - 1) end def stdDeviation Math::sqrt sampleVariance end end