sampleStats = function(arg){
updateButton;
let sample = selectedData.filter(
r => r['TRQUEUEDTIME'] >= arg.left && r['TRQUEUEDTIME'] < arg.right );
let outliers = sample.filter(
r => r['norm_DT'] > normDtStats.outlierThreshold);
let faultyTrRatio = outliers.length / sample.length;
let faultyTrLossSum = outliers.map(r=>r['DT']-r['TT_lowerbound']).reduce( (a,b) => +a+b );
let faultyTrLossAverage = faultyTrLossSum / outliers.length;
let trLossExpectation = faultyTrLossSum / sample.length;
return {
faultyTrRatio : faultyTrRatio,
faultyTrLossAverage : faultyTrLossAverage,
trLossExpectation : trLossExpectation,
faultyTrLossSum : faultyTrLossSum,
range : [arg.left, arg.right],
sample : sample,
outliers : outliers.sort( (a,b) => b['DT'] - a['DT'] )
};
}(brushedRegion);