rows.push(header);
}
+ let goals = 0;
let num_throws = 0;
let throwaways = 0;
let catches = 0;
row.dataset.player = q;
rows.push(row);
+ goals += p.goals;
num_throws += p.num_throws;
throwaways += p.throwaways;
catches += p.catches;
let row = document.createElement('tr');
add_3cell(row, '');
- add_3cell(row, '');
+ add_3cell(row, goals);
add_3cell(row, '');
add_3cell(row, '');
add_3cell(row, num_throws);
add_th(header, 'Soft +/-', 6);
rows.push(header);
}
+
+ let defenses = 0;
+ let pulls = 0;
+ let oob_pulls = 0;
+ let sum_sum_time = 0;
+ let callahans = 0;
+
for (const [q,p] of get_sorted_players(players)) {
if (q === 'globals') continue;
let sum_time = 0;
add_3cell(row, '-' + p.defensive_soft_minus);
row.dataset.player = q;
rows.push(row);
+
+ defenses += p.defenses;
+ pulls += p.pulls;
+ oob_pulls += p.oob_pulls;
+ sum_sum_time += sum_time;
+ callahans += p.callahans;
}
+
+ // Globals.
+ let ci_oob = make_binomial_ci(oob_pulls, pulls, z);
+ ci_oob.format = 'percentage';
+ ci_oob.desired = 0.2; // Arbitrary.
+ ci_oob.inverted = true;
+
+ let avg_time = 1e-3 * sum_sum_time / (pulls - oob_pulls);
+ let oob_pct = 100 * oob_pulls / pulls;
+
+ let row = document.createElement('tr');
+ add_3cell(row, '');
+ add_3cell(row, defenses);
+ add_3cell(row, pulls);
+ add_3cell(row, oob_pulls);
+ add_3cell_ci(row, ci_oob);
+ if (pulls > oob_pulls) {
+ add_3cell(row, avg_time.toFixed(1) + ' sec');
+ } else {
+ add_3cell(row, 'N/A');
+ }
+ add_3cell(row, callahans);
+ add_3cell(row, '');
+ add_3cell(row, '');
+ rows.push(row);
+
return rows;
}
let row = document.createElement('tr');
add_3cell(row, '');
if (globals.points_played > 0) {
- add_3cell_with_filler_ci(row, goals == 0 ? 0 : (goals / globals.points_played).toFixed(2));
- add_3cell_with_filler_ci(row, assists == 0 ? 0 : (assists / globals.points_played).toFixed(2));
- add_3cell_with_filler_ci(row, hockey_assists == 0 ? 0 : (hockey_assists / globals.points_played).toFixed(2));
- add_3cell_with_filler_ci(row, defenses == 0 ? 0 : (defenses / globals.points_played).toFixed(2));
- add_3cell_with_filler_ci(row, throwaways == 0 ? 0 : (throwaways / globals.points_played).toFixed(2));
- add_3cell_with_filler_ci(row, receiver_errors == 0 ? 0 : (receiver_errors / globals.points_played).toFixed(2));
+ let ci_goals = make_binomial_ci(goals, globals.points_played, z);
+ let ci_assists = make_binomial_ci(assists, globals.points_played, z);
+ let ci_hockey_assists = make_binomial_ci(hockey_assists, globals.points_played, z);
+ ci_goals.desired = 0.5;
+ ci_assists.desired = 0.5;
+ ci_hockey_assists.desired = 0.5;
+
+ add_3cell_ci(row, ci_goals);
+ add_3cell_ci(row, ci_assists);
+ add_3cell_ci(row, ci_hockey_assists);
+
+ add_3cell_ci(row, make_poisson_ci(defenses, globals.points_played, z));
+ add_3cell_ci(row, make_poisson_ci(throwaways, globals.points_played, z, true));
+ add_3cell_ci(row, make_poisson_ci(receiver_errors, globals.points_played, z, true));
+
add_3cell(row, touches == 0 ? 0 : (touches / globals.points_played).toFixed(2));
} else {
add_3cell_with_filler_ci(row, 'N/A');