X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fcorrelations.c;h=7fcca77cc7a883acbd05c8cdac604eb7bcc66544;hb=0c40cc9355d2ce0d88d3937b1bfe0cb9927510a3;hp=69d91d03c2b56bb9bc71f8c5e1294db4587416fa;hpb=c8345320e71591cbad5a8e4b0d97dee13d4afd0c;p=pspp diff --git a/src/language/stats/correlations.c b/src/language/stats/correlations.c index 69d91d03c2..7fcca77cc7 100644 --- a/src/language/stats/correlations.c +++ b/src/language/stats/correlations.c @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -29,8 +30,7 @@ #include #include #include -#include -#include +#include #include #include #include @@ -46,21 +46,6 @@ #define N_(msgid) msgid -static double -significance_of_correlation (double rho, double w) -{ - double t = w - 2; - t /= 1 - MIN (1, pow2 (rho)); - t = sqrt (t); - t *= rho; - - if (t > 0) - return gsl_cdf_tdist_Q (t, w - 2); - else - return gsl_cdf_tdist_P (t, w - 2); -} - - struct corr { size_t n_vars_total; @@ -108,9 +93,8 @@ output_descriptives (const struct corr *corr, const gsl_matrix *means, const int heading_columns = 1; const int heading_rows = 1; - struct tab_table *t = tab_create (nc, nr, 0); + struct tab_table *t = tab_create (nc, nr); tab_title (t, _("Descriptive Statistics")); - tab_dim (t, tab_natural_dimensions, NULL); tab_headers (t, heading_columns, 0, heading_rows, 0); @@ -203,9 +187,8 @@ output_correlation (const struct corr *corr, const struct corr_opts *opts, /* One header row */ nr += heading_rows; - t = tab_create (nc, nr, 0); + t = tab_create (nc, nr); tab_title (t, _("Correlations")); - tab_dim (t, tab_natural_dimensions, NULL); tab_headers (t, heading_columns, 0, heading_rows, 0); @@ -291,32 +274,6 @@ output_correlation (const struct corr *corr, const struct corr_opts *opts, } -static gsl_matrix * -correlation_from_covariance (const gsl_matrix *cv, const gsl_matrix *v) -{ - size_t i, j; - gsl_matrix *corr = gsl_matrix_calloc (cv->size1, cv->size2); - - for (i = 0 ; i < cv->size1; ++i) - { - for (j = 0 ; j < cv->size2; ++j) - { - double rho = gsl_matrix_get (cv, i, j); - - rho /= sqrt (gsl_matrix_get (v, i, j)) - * - sqrt (gsl_matrix_get (v, j, i)); - - gsl_matrix_set (corr, i, j, rho); - } - } - - return corr; -} - - - - static void run_corr (struct casereader *r, const struct corr_opts *opts, const struct corr *corr) { @@ -432,8 +389,11 @@ cmd_correlation (struct lexer *lexer, struct dataset *ds) opts.statistics = STATS_DESCRIPTIVES; else if (lex_match_id (lexer, "XPROD")) opts.statistics = STATS_XPROD; - else if (lex_match_id (lexer, "ALL")) - opts.statistics = STATS_ALL; + else if (lex_token (lexer) == T_ALL) + { + opts.statistics = STATS_ALL; + lex_get (lexer); + } else { lex_error (lexer, NULL);