Sha256: 4ffa4a6e95a10e5fbd2d2366816f6509cdbd29b79d7b7248615550f488b06a8b

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

#!/usr/bin/env ruby

require "pione"

name_list = Pione.val "$*"
scores_f  = Pione.val "$I[1]"
means_f   = Pione.val "$I[2]"

total_mean = Pione::Location[Pione.val("$I[3]")].read.to_f

means    = means_f.split(":").map{|file| File.read(file).to_f}
total_sd = Math.sqrt(means.map{|mean| (total_mean-mean) ** 2}.reduce(:+) / means.size)
names    = name_list.split(":").sort

devs = names.inject({}) do |tbl, name|
  mean = Pione::Location["%s.mean" % name].read.to_i
  dev = 50 + 10 * (mean - total_mean) / total_sd
  Pione::Location["%s.dev" % name].write(dev)
  tbl.tap {|x| x[name] = dev}
end

lines = names.map do |name|
  scores = File.readlines("%s.score" % name).map{|line| line.split(" ")[1].to_i}
  mean = Pione::Location["%s.mean" % name].read.to_f
  [name, scores, mean, devs[name]].flatten.join(" | ")
end

report = <<TXT
# Total Statistics

## Histgram

![Histgram of mean scores](histgram.png)

## Scores

| name | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Mean | Deviation |
|------|---|---|---|---|---|---|---|---|---|----|----|----|----|----|----|------|-----------|
#{lines.map{|line| "| %s |" % line}.join("\n")}
TXT

Pione::Location[Pione.val("$O[2]")].write(report)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pione-0.3.0 example/ScoreAggregation/bin/total-statistics.rb
pione-0.2.2 example/ScoreAggregation/bin/total-statistics.rb
pione-0.2.1 example/ScoreAggregation/bin/total-statistics.rb
pione-0.2.0 example/ScoreAggregation/bin/total-statistics.rb