- struct tab_table *t;
- int n_rows = 2;
- int n_cols = 5;
- double rsq;
- double adjrsq;
- double std_error;
-
- assert (c != NULL);
- rsq = linreg_ssreg (c) / linreg_sst (c);
- adjrsq = rsq -
- (1.0 - rsq) * linreg_n_coeffs (c) / (linreg_n_obs (c) -
- linreg_n_coeffs (c) - 1);
- std_error = sqrt (linreg_mse (c));
- t = tab_create (n_cols, n_rows);
- 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);
- tab_vline (t, TAL_0, 1, 0, 0);
-
- tab_text (t, 1, 0, TAB_CENTER | TAT_TITLE, _("R"));
- tab_text (t, 2, 0, TAB_CENTER | TAT_TITLE, _("R Square"));
- tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("Adjusted R Square"));
- tab_text (t, 4, 0, TAB_CENTER | TAT_TITLE, _("Std. Error of the Estimate"));
- tab_double (t, 1, 1, TAB_RIGHT, sqrt (rsq), NULL, RC_OTHER);
- tab_double (t, 2, 1, TAB_RIGHT, rsq, NULL, RC_OTHER);
- tab_double (t, 3, 1, TAB_RIGHT, adjrsq, NULL, RC_OTHER);
- tab_double (t, 4, 1, TAB_RIGHT, std_error, NULL, RC_OTHER);
- tab_title (t, _("Model Summary (%s)"), var_to_string (var));
- tab_submit (t);
+ struct pivot_table *table = pivot_table_create__ (
+ pivot_value_new_text_format (N_("Model Summary (%s)"),
+ var_to_string (var)),
+ "Model Summary");
+
+ pivot_dimension_create (table, PIVOT_AXIS_COLUMN, N_("Statistics"),
+ N_("R"), N_("R Square"), N_("Adjusted R Square"),
+ N_("Std. Error of the Estimate"));
+
+ double rsq = linreg_ssreg (c) / linreg_sst (c);
+ double adjrsq = (rsq -
+ (1.0 - rsq) * linreg_n_coeffs (c)
+ / (linreg_n_obs (c) - linreg_n_coeffs (c) - 1));
+ double std_error = sqrt (linreg_mse (c));
+
+ double entries[] = {
+ sqrt (rsq), rsq, adjrsq, std_error
+ };
+ for (size_t i = 0; i < sizeof entries / sizeof *entries; i++)
+ pivot_table_put1 (table, i, pivot_value_new_number (entries[i]));
+
+ pivot_table_submit (table);