X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fruns.c;h=cd963d32736f2630cc12663162aa9a9b9eba983c;hb=17ca35e4ca8abf4ba0c0ae82920b985fa17648cf;hp=9fc571cf9293bd9d47aa2e4025baf4b6f11723f0;hpb=2be9bee9da6a2ce27715e58128569594319abfa2;p=pspp diff --git a/src/language/stats/runs.c b/src/language/stats/runs.c index 9fc571cf92..cd963d3273 100644 --- a/src/language/stats/runs.c +++ b/src/language/stats/runs.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. -*-c-*- - Copyright (C) 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2010, 2011, 2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,7 @@ #include "language/stats/runs.h" +#include #include #include @@ -64,7 +65,7 @@ struct run_state /* Return the Z statistic representing the assympototic - distribution of the the number of runs */ + distribution of the number of runs */ static double runs_statistic (const struct run_state *rs) { @@ -99,7 +100,7 @@ runs_statistic (const struct run_state *rs) static void show_runs_result (const struct runs_test *, const struct run_state *, const struct dictionary *); -void +void runs_execute (const struct dataset *ds, struct casereader *input, enum mv_class exclude, @@ -131,7 +132,7 @@ runs_execute (const struct dataset *ds, const struct variable *var = otp->vars[v]; reader = sort_execute_1var (reader, var); - + grouper = casegrouper_create_vars (reader, &var, 1); last_cc = SYSMIS; while (casegrouper_get_next_group (grouper, &group)) @@ -164,8 +165,9 @@ runs_execute (const struct dataset *ds, } casegrouper_destroy (grouper); if (multimodal) - msg (MW, _("Multiple modes exist for varible `%s'. Using %g as the threshold value."), - var_get_name (var), run->cutpoint); + msg (MW, _("Multiple modes exist for variable `%s'. " + "Using %.*g as the threshold value."), + var_get_name (var), DBL_DIG + 1, run->cutpoint); } } break; @@ -204,7 +206,7 @@ runs_execute (const struct dataset *ds, median = percentile_create (0.5, cc); os = &median->parent; - + order_stats_accumulate (&os, 1, reader, weight, @@ -316,6 +318,7 @@ show_runs_result (const struct runs_test *rt, const struct run_state *rs, const const int column_headers = 1; struct tab_table *table = tab_create (row_headers + otp->n_vars, column_headers + 7); + tab_set_format (table, RC_WEIGHT, wfmt); tab_headers (table, row_headers, 0, column_headers, 0); @@ -334,30 +337,30 @@ show_runs_result (const struct runs_test *rt, const struct run_state *rs, const double z = runs_statistic (run); - tab_text (table, row_headers + i, 0, + tab_text (table, row_headers + i, 0, TAT_TITLE | TAB_CENTER , var_to_string (otp->vars[i])); tab_double (table, row_headers +i, 1, 0, - run->cutpoint, 0); + run->cutpoint, NULL, RC_OTHER); tab_double (table, row_headers +i, 2, 0, - run->nn, wfmt); - + run->nn, NULL, RC_WEIGHT); + tab_double (table, row_headers +i, 3, 0, - run->np, wfmt); + run->np, NULL, RC_WEIGHT); tab_double (table, row_headers +i, 4, 0, - run->n, wfmt); + run->n, NULL, RC_WEIGHT); tab_double (table, row_headers +i, 5, 0, - run->runs, &F_8_0); + run->runs, NULL, RC_INTEGER); tab_double (table, row_headers +i, 6, 0, - z, 0); + z, NULL, RC_OTHER); tab_double (table, row_headers +i, 7, 0, - 2.0 * gsl_cdf_ugaussian_P (z), 0); + 2.0 * (1.0 - gsl_cdf_ugaussian_P (z)), NULL, RC_PVALUE); } switch ( rt->cp_mode) @@ -384,7 +387,7 @@ show_runs_result (const struct runs_test *rt, const struct run_state *rs, const TAT_TITLE | TAB_LEFT , _("Cases < Test Value")); tab_text (table, 0, column_headers + 2, - TAT_TITLE | TAB_LEFT , _("Cases >= Test Value")); + TAT_TITLE | TAB_LEFT , _("Cases ≥ Test Value")); tab_text (table, 0, column_headers + 3, TAT_TITLE | TAB_LEFT , _("Total Cases"));