X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fregression.q;h=41a23f3e2580ebd9a9aac6ff289b89803c6f8da2;hb=816e076775c2c0ba944f1f03d99db611c24c8c2c;hp=13cc4f69f7224450b2c384e05f78618c5f3dd573;hpb=9e0e4996fad6563f0a1ce628b80db5c23ef8279e;p=pspp-builds.git diff --git a/src/language/stats/regression.q b/src/language/stats/regression.q index 13cc4f69..41a23f3e 100644 --- a/src/language/stats/regression.q +++ b/src/language/stats/regression.q @@ -150,7 +150,7 @@ reg_stats_r (pspp_linreg_cache * c) adjrsq = 1.0 - (1.0 - rsq) * (c->n_obs - 1.0) / (c->n_obs - c->n_indeps); std_error = sqrt (pspp_linreg_mse (c)); t = tab_create (n_cols, n_rows, 0); - tab_dim (t, tab_natural_dimensions); + tab_dim (t, tab_natural_dimensions, NULL); tab_box (t, TAL_2, TAL_2, -1, TAL_1, 0, 0, n_cols - 1, n_rows - 1); tab_hline (t, TAL_2, 0, n_cols - 1, 1); tab_vline (t, TAL_2, 2, 0, n_rows - 1); @@ -193,7 +193,7 @@ reg_stats_coeff (pspp_linreg_cache * c) t = tab_create (n_cols, n_rows, 0); tab_headers (t, 2, 0, 1, 0); - tab_dim (t, tab_natural_dimensions); + tab_dim (t, tab_natural_dimensions, NULL); tab_box (t, TAL_2, TAL_2, -1, TAL_1, 0, 0, n_cols - 1, n_rows - 1); tab_hline (t, TAL_2, 0, n_cols - 1, 1); tab_vline (t, TAL_2, 2, 0, n_rows - 1); @@ -290,7 +290,7 @@ reg_stats_anova (pspp_linreg_cache * c) assert (c != NULL); t = tab_create (n_cols, n_rows, 0); tab_headers (t, 2, 0, 1, 0); - tab_dim (t, tab_natural_dimensions); + tab_dim (t, tab_natural_dimensions, NULL); tab_box (t, TAL_2, TAL_2, -1, TAL_1, 0, 0, n_cols - 1, n_rows - 1); @@ -315,9 +315,9 @@ reg_stats_anova (pspp_linreg_cache * c) /* Degrees of freedom */ - tab_text (t, 3, 1, TAB_RIGHT | TAT_PRINTF, "%g", c->dfm); - tab_text (t, 3, 2, TAB_RIGHT | TAT_PRINTF, "%g", c->dfe); - tab_text (t, 3, 3, TAB_RIGHT | TAT_PRINTF, "%g", c->dft); + tab_text_format (t, 3, 1, TAB_RIGHT, "%g", c->dfm); + tab_text_format (t, 3, 2, TAB_RIGHT, "%g", c->dfe); + tab_text_format (t, 3, 3, TAB_RIGHT, "%g", c->dft); /* Mean Squares */ tab_double (t, 4, 1, TAB_RIGHT, msm, NULL); @@ -381,7 +381,7 @@ reg_stats_bcov (pspp_linreg_cache * c) n_rows = 2 * (c->n_indeps + 1); t = tab_create (n_cols, n_rows, 0); tab_headers (t, 2, 0, 1, 0); - tab_dim (t, tab_natural_dimensions); + tab_dim (t, tab_natural_dimensions, NULL); tab_box (t, TAL_2, TAL_2, -1, TAL_1, 0, 0, n_cols - 1, n_rows - 1); tab_hline (t, TAL_2, 0, n_cols - 1, 1); tab_vline (t, TAL_2, 2, 0, n_rows - 1); @@ -914,7 +914,7 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, } lopts.get_depvar_mean_std = 1; - lopts.get_indep_mean_std = xnmalloc (n_variables, sizeof (int)); + indep_vars = xnmalloc (n_variables, sizeof *indep_vars); for (k = 0; k < cmd->n_dependent; k++) @@ -942,12 +942,13 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, design_matrix_create (n_indep, (const struct variable **) indep_vars, n_data); + lopts.get_indep_mean_std = xnmalloc (X->m->size2, sizeof (int)); for (i = 0; i < X->m->size2; i++) { lopts.get_indep_mean_std[i] = 1; } models[k] = pspp_linreg_cache_alloc (dep_var, (const struct variable **) indep_vars, - X->m->size1, X->m->size2); + X->m->size1, n_indep); models[k]->depvar = dep_var; /* For large data sets, use QR decomposition. @@ -993,6 +994,7 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, gsl_vector_free (Y); design_matrix_destroy (X); + free (lopts.get_indep_mean_std); } else { @@ -1007,7 +1009,6 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, } free (mom); free (indep_vars); - free (lopts.get_indep_mean_std); casereader_destroy (input); return true;