X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Froc.c;h=b3f8e91e47da59645d04f83cfa75ae66a4f3ff88;hb=5af2d8e4450d82bdb660de801e2a8961750442fa;hp=f0e1715ac3eaafd53a6fe16855092d3f2a730ca4;hpb=96994a54e60e9c95b8bba54c2281acf7059b1203;p=pspp diff --git a/src/language/stats/roc.c b/src/language/stats/roc.c index f0e1715ac3..b3f8e91e47 100644 --- a/src/language/stats/roc.c +++ b/src/language/stats/roc.c @@ -33,7 +33,6 @@ #include "language/lexer/variable-parser.h" #include "libpspp/misc.h" #include "math/sort.h" -#include "output/chart-item.h" #include "output/charts/roc-chart.h" #include "output/pivot-table.h" @@ -712,7 +711,7 @@ do_roc (struct cmd_roc *roc, struct casereader *reader, struct dictionary *dict) { int i; - struct roc_state *rs = xcalloc (roc->n_vars, sizeof *rs); + struct roc_state *rs = XCALLOC (roc->n_vars, struct roc_state); struct casereader *negatives = NULL; struct casereader *positives = NULL; @@ -1062,7 +1061,6 @@ show_coords (struct roc_state *rs, const struct cmd_roc *roc) { struct pivot_table *table = pivot_table_create ( N_("Coordinates of the Curve")); - table->omit_empty = true; pivot_dimension_create (table, PIVOT_AXIS_COLUMN, N_("Statistics"), N_("Positive if greater than or equal to"), @@ -1095,6 +1093,13 @@ show_coords (struct roc_state *rs, const struct cmd_roc *roc) const double sp = case_data_idx (cc, ROC_TN)->f / (case_data_idx (cc, ROC_TN)->f + case_data_idx (cc, ROC_FP)->f); + 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], @@ -1107,16 +1112,9 @@ show_coords (struct roc_state *rs, const struct cmd_roc *roc) coord_idx++; } - if (coord_idx > n_coords) - n_coords = coord_idx; - casereader_destroy (r); } - for (size_t i = 0; i < n_coords; i++) - pivot_category_create_leaf (coordinates->root, - pivot_value_new_integer (i + 1)); - pivot_table_submit (table); }