nc - 1, nr - 1);
tab_vline (t, TAL_2, heading_columns, 0, nr - 1);
+
tab_vline (t, TAL_1, 1, heading_rows, nr - 1);
for (r = 0 ; r < corr->n_vars1 ; ++r)
for (c = 0 ; c < matrix_cols ; ++c)
{
- const struct variable *v = corr->n_vars_total > corr->n_vars1 ? corr->vars[corr->n_vars_total - corr->n_vars1 + c] : corr->vars[c];
+ const struct variable *v = corr->n_vars_total > corr->n_vars1 ?
+ corr->vars[corr->n_vars_total - corr->n_vars1 - 1 + c] : corr->vars[c];
tab_text (t, heading_columns + c, 0, TAB_LEFT | TAT_TITLE, var_to_string (v));
}
for (c = 0 ; c < matrix_cols ; ++c)
{
unsigned char flags = 0;
- const int col_index = corr->n_vars_total - corr->n_vars1 + c;
+ const int col_index = corr->n_vars_total > corr->n_vars1 ?
+ corr->n_vars_total - corr->n_vars1 - 1 + c :
+ c;
double pearson = gsl_matrix_get (cm, r, col_index);
double w = gsl_matrix_get (samples, r, col_index);
double sig = opts->tails * significance_of_correlation (pearson, w);
if ( opts->statistics & STATS_DESCRIPTIVES)
output_descriptives (corr, mean_matrix, var_matrix, samples_matrix);
- output_correlation (corr, opts,
- corr_matrix,
- samples_matrix,
- cov_matrix);
+ output_correlation (corr, opts, corr_matrix,
+ samples_matrix, cov_matrix);
covariance_destroy (cov);
gsl_matrix_free (corr_matrix);
mv stdout expout
AT_CHECK([pspp -O format=csv correlations2.sps], [0], [expout])
AT_CLEANUP
+
+
+AT_SETUP([CORRELATIONS -- non-square])
+AT_DATA([corr-ns.sps], [dnl
+set format = F11.3.
+data list notable list /foo * bar * wiz *.
+begin data.
+1 1 6
+2 2 5
+3 3 4
+4 4 3
+5 5 2
+6 6 1
+end data.
+
+correlations
+ variables = foo with bar wiz
+ .
+])
+
+AT_CHECK([pspp -O format=csv corr-ns.sps], [0], [dnl
+Table: Correlations
+,,bar,wiz
+foo,Pearson Correlation,1.000,-1.000
+,Sig. (2-tailed),,.000
+,N,6,6
+])
+
+AT_CLEANUP
\ No newline at end of file