- for (size_t i = 0; i < sizeof entries / sizeof *entries; i++)
- pivot_table_put2 (table, i, var_idx,
- pivot_value_new_number (entries[i]));
+
+ size_t col = 0;
+ for (size_t i = 0; i < sizeof base_entries / sizeof *base_entries; i++)
+ pivot_table_put2 (table, col++, var_idx,
+ pivot_value_new_number (base_entries[i]));
+
+ if (cmd->stats & STATS_CI)
+ {
+ double interval_entries[] = {
+ linreg_coeff (c, j) - tval * std_err,
+ linreg_coeff (c, j) + tval * std_err,
+ };
+
+
+ for (size_t i = 0; i < sizeof interval_entries / sizeof *interval_entries; i++)
+ pivot_table_put2 (table, col++, var_idx,
+ pivot_value_new_number (interval_entries[i]));
+ }
+
+ if (cmd->stats & STATS_COLLIN)
+ {
+ assert (c_x);
+ double rsq = linreg_ssreg (c_x) / linreg_sst (c_x);
+
+ double collin_entries[] = {
+ 1.0 - rsq,
+ 1.0 / (1.0 - rsq),
+ };
+
+ for (size_t i = 0; i < sizeof collin_entries / sizeof *collin_entries; i++)
+ pivot_table_put2 (table, col++, var_idx,
+ pivot_value_new_number (collin_entries[i]));
+ }