X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Foneway.c;h=807b5dc39f10b6e8bc5f2af2eb8637b97a4796b6;hb=480832dcecdf63fa6f115ba3a09a1befd511f290;hp=a30026e8b4c38c283fcc74a7524fdec9d8caed3b;hpb=ed27bb089200660270ec530508a924941bc23d0e;p=pspp diff --git a/src/language/stats/oneway.c b/src/language/stats/oneway.c index a30026e8b4..807b5dc39f 100644 --- a/src/language/stats/oneway.c +++ b/src/language/stats/oneway.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012, 2013, 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 @@ -16,6 +16,7 @@ #include +#include #include #include #include @@ -815,6 +816,7 @@ run_oneway (const struct oneway_spec *cmd, for (v = 0; v < cmd->n_vars; ++v) { + const gsl_matrix *ucm; gsl_matrix *cm; struct per_var_ws *pvw = &ws.vws[v]; const struct categoricals *cats = covariance_get_categoricals (pvw->cov); @@ -828,7 +830,10 @@ run_oneway (const struct oneway_spec *cmd, continue; } - cm = covariance_calculate_unnormalized (pvw->cov); + ucm = covariance_calculate_unnormalized (pvw->cov); + + cm = gsl_matrix_alloc (ucm->size1, ucm->size2); + gsl_matrix_memcpy (cm, ucm); moments1_calculate (ws.dd_total[v]->mom, &pvw->n, NULL, NULL, NULL, NULL); @@ -837,14 +842,13 @@ run_oneway (const struct oneway_spec *cmd, reg_sweep (cm, 0); pvw->sse = gsl_matrix_get (cm, 0, 0); + gsl_matrix_free (cm); pvw->ssa = pvw->sst - pvw->sse; pvw->n_groups = categoricals_n_total (cats); pvw->mse = (pvw->sst - pvw->ssa) / (pvw->n - pvw->n_groups); - - gsl_matrix_free (cm); } for (v = 0; v < cmd->n_vars; ++v) @@ -972,7 +976,7 @@ show_anova_table (const struct oneway_spec *cmd, const struct oneway_workspace * tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("df")); tab_text (t, 4, 0, TAB_CENTER | TAT_TITLE, _("Mean Square")); tab_text (t, 5, 0, TAB_CENTER | TAT_TITLE, _("F")); - tab_text (t, 6, 0, TAB_CENTER | TAT_TITLE, _("Significance")); + tab_text (t, 6, 0, TAB_CENTER | TAT_TITLE, _("Sig.")); for (i = 0; i < cmd->n_vars; ++i) @@ -1219,7 +1223,7 @@ show_homogeneity (const struct oneway_spec *cmd, const struct oneway_workspace * tab_text (t, 1, 0, TAB_CENTER | TAT_TITLE, _("Levene Statistic")); tab_text (t, 2, 0, TAB_CENTER | TAT_TITLE, _("df1")); tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("df2")); - tab_text (t, 4, 0, TAB_CENTER | TAT_TITLE, _("Significance")); + tab_text (t, 4, 0, TAB_CENTER | TAT_TITLE, _("Sig.")); tab_title (t, _("Test of Homogeneity of Variances")); @@ -1329,7 +1333,8 @@ show_contrast_coeffs (const struct oneway_spec *cmd, const struct oneway_workspa ds_destroy (&vstr); - tab_text_format (t, count + 2, c_num + 2, TAB_RIGHT, "%g", coeffn->coeff); + tab_text_format (t, count + 2, c_num + 2, TAB_RIGHT, "%.*g", + DBL_DIG + 1, coeffn->coeff); } ++c_num; }