X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fcorrelations.c;h=277cfea5bb15a57648679dcc96b39a07a14dd0d5;hb=3bbe45fcc70f8d059b4bf6715d629209b50fa48e;hp=e397dae53b2ff482bb0ea9b31cc4b2685ddd14dd;hpb=09e9433298a484353b1aac68018871553bee3d55;p=pspp-builds.git diff --git a/src/language/stats/correlations.c b/src/language/stats/correlations.c index e397dae5..277cfea5 100644 --- a/src/language/stats/correlations.c +++ b/src/language/stats/correlations.c @@ -325,15 +325,25 @@ run_corr (struct casereader *r, const struct corr_opts *opts, const struct corr const gsl_matrix *cov_matrix; gsl_matrix *corr_matrix; struct covariance *cov = covariance_create (corr->n_vars_total, corr->vars, - opts->wv, opts->exclude); + opts->wv, opts->exclude, 2); + + struct casereader *rc = casereader_clone (r); for ( ; (c = casereader_read (r) ); case_unref (c)) { - covariance_accumulate (cov, c); + covariance_accumulate_pass1 (cov, c); + } + + for ( ; (c = casereader_read (rc) ); case_unref (c)) + { + covariance_accumulate_pass2 (cov, c); } cov_matrix = covariance_calculate (cov); + casereader_destroy (rc); + + samples_matrix = covariance_moments (cov, MOMENT_NONE); var_matrix = covariance_moments (cov, MOMENT_VARIANCE); mean_matrix = covariance_moments (cov, MOMENT_MEAN);