総和とほとんど同じだが、平均は次のように取る。
var d = data.select("名前", "太郎");
var m = d.average("計").getValue(0, "計")
関数を用いることもできる。
var f = function(x) { return x * x; }
var d = data.select("名前", "太郎");
var m = d.average("計").getValue(0, "計")
var s2 = d.average("計", f).getValue(0, "計") - m * m;
これで分散が求まる。
this.average = function(item, f) {
var d = new dataSet();
// どのカラムか決める
var col = this.getColumn(item);
if(col == null)
return null;
d.header = [ this.header[col] ];
var sum = 0;
if(f instanceof Function) {
for(var i in this.data) {
var num = this.data[i][col];
if(!isNaN(num))
sum += f(num - 0);
}
}
else {
for(var i in this.data) {
var num = this.data[i][col];
if(!isNaN(num))
sum += num - 0;
}
}
d.data = [ [ sum / this.data.length ] ];
return d;
}