- for (; (cc = casereader_read (r)) != NULL;
- case_unref (cc), x++)
- {
- const double se = case_data_idx (cc, TP)->f /
- (
- case_data_idx (cc, TP)->f
- +
- case_data_idx (cc, FN)->f
- );
-
- const double sp = case_data_idx (cc, TN)->f /
- (
- case_data_idx (cc, TN)->f
- +
- case_data_idx (cc, FP)->f
- );
-
- tab_double (tbl, n_cols - 3, x, 0, case_data_idx (cc, CUTPOINT)->f,
- var_get_print_format (roc->vars[i]));
-
- tab_double (tbl, n_cols - 2, x, 0, se, NULL);
- tab_double (tbl, n_cols - 1, x, 0, 1 - sp, NULL);
+ if (coord_idx >= n_coords)
+ {
+ assert (coord_idx == n_coords);
+ pivot_category_create_leaf (
+ coordinates->root, pivot_value_new_integer (++n_coords));
+ }
+
+ pivot_table_put3 (
+ table, 0, coord_idx, var_idx,
+ pivot_value_new_var_value (roc->vars[i],
+ case_data_idx (cc, ROC_CUTPOINT)));
+
+ pivot_table_put3 (table, 1, coord_idx, var_idx,
+ pivot_value_new_number (se));
+ pivot_table_put3 (table, 2, coord_idx, var_idx,
+ pivot_value_new_number (1 - sp));
+ coord_idx++;