- tab_double (t, 1 + lab, r, TAB_NONE, cum_freq, wfmt);
- tab_fixed (t, 2 + lab, r, TAB_NONE, 100.0, 5, 1);
- tab_fixed (t, 3 + lab, r, TAB_NONE, 100.0, 5, 1);
-
- tab_title (t, "%s", var_to_string (v));
- tab_submit (t);
-}
-
-/* Display condensed frequency table for variable V. */
-static void
-dump_condensed (const struct variable *v, const struct variable *wv)
-{
- const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : &F_8_0;
- int n_categories;
- struct var_freqs *vf;
- struct freq_tab *ft;
- struct freq_mutable *f;
- struct tab_table *t;
- int r;
- double cum_total = 0.0;
-
- vf = get_var_freqs (v);
- ft = &vf->tab;
- n_categories = ft->n_valid + ft->n_missing;
- t = tab_create (4, n_categories + 2);
-
- tab_headers (t, 0, 0, 2, 0);
- tab_text (t, 0, 1, TAB_CENTER | TAT_TITLE, _("Value"));
- tab_text (t, 1, 1, TAB_CENTER | TAT_TITLE, _("Freq"));
- tab_text (t, 2, 1, TAB_CENTER | TAT_TITLE, _("Pct"));
- tab_text (t, 3, 0, TAB_CENTER | TAT_TITLE, _("Cum"));
- tab_text (t, 3, 1, TAB_CENTER | TAT_TITLE, _("Pct"));
-
- r = 2;
- for (f = ft->valid; f < ft->missing; f++)
- {
- double percent;
-
- percent = f->count / ft->total_cases * 100.0;
- cum_total += f->count / ft->valid_cases * 100.0;
-
- tab_value (t, 0, r, TAB_NONE, &f->value, ft->dict, &vf->print);
- tab_double (t, 1, r, TAB_NONE, f->count, wfmt);
- tab_double (t, 2, r, TAB_NONE, percent, NULL);
- tab_double (t, 3, r, TAB_NONE, cum_total, NULL);
- r++;
- }
- for (; f < &ft->valid[n_categories]; f++)
- {
- tab_value (t, 0, r, TAB_NONE, &f->value, ft->dict, &vf->print);
- tab_double (t, 1, r, TAB_NONE, f->count, wfmt);
- tab_double (t, 2, r, TAB_NONE,
- f->count / ft->total_cases * 100.0, NULL);
- r++;
- }