X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fregression.q;h=0718b8d4d0bccce1da5ff3269ae0fd1b5ecc9157;hb=e385eeb8a2ea75fb2d9c1c628619baa03c914dae;hp=cb126d09655f5c700f9dd432c0df8f36f8b7a1ef;hpb=400bebea74c1bb4c2fdfc0679ee5db6b24a31a32;p=pspp-builds.git diff --git a/src/language/stats/regression.q b/src/language/stats/regression.q index cb126d09..0718b8d4 100644 --- a/src/language/stats/regression.q +++ b/src/language/stats/regression.q @@ -144,8 +144,8 @@ reg_stats_r (linreg * c) double std_error; assert (c != NULL); - rsq = c->ssm / c->sst; - adjrsq = 1.0 - (1.0 - rsq) * (c->n_obs - 1.0) / (c->n_obs - c->n_indeps); + rsq = linreg_ssreg (c) / linreg_sst (c); + adjrsq = 1.0 - (1.0 - rsq) * (linreg_n_obs (c) - 1.0) / (linreg_n_obs (c) - linreg_n_coeffs (c)); std_error = sqrt (linreg_mse (c)); t = tab_create (n_cols, n_rows, 0); tab_dim (t, tab_natural_dimensions, NULL); @@ -293,9 +293,9 @@ reg_stats_anova (linreg * c) tab_text (t, 1, 3, TAB_LEFT | TAT_TITLE, _("Total")); /* Sums of Squares */ - tab_double (t, 2, 1, 0, c->ssm, NULL); - tab_double (t, 2, 3, 0, c->sst, NULL); - tab_double (t, 2, 2, 0, c->sse, NULL); + tab_double (t, 2, 1, 0, linreg_ssreg (c), NULL); + tab_double (t, 2, 3, 0, linreg_sst (c), NULL); + tab_double (t, 2, 2, 0, linreg_sse (c), NULL); /* Degrees of freedom */ @@ -858,6 +858,8 @@ fill_covariance (gsl_matrix *cov, struct covariance *all_cov, result = gsl_matrix_get (ssizes, rows[i], dep_subscript); } } + gsl_matrix_set (cov, cov->size1 - 1, cov->size1 - 1, + gsl_matrix_get (cm, dep_subscript, dep_subscript)); free (rows); return result; } @@ -905,7 +907,7 @@ run_regression (struct casereader *input, struct cmd_regression *cmd, dict_get_vars (dict, &v_variables, &n_variables, 0); } vars = xnmalloc (n_variables, sizeof (*vars)); - means = xnmalloc (n_variables, sizeof (*vars)); + means = xnmalloc (n_variables, sizeof (*means)); cov = covariance_1pass_create (n_variables, v_variables, dict_get_weight (dict), MV_ANY);