Skipping missing values.
authorBen Pfaff <blp@cs.stanford.edu>
Thu, 30 Dec 2021 22:18:45 +0000 (14:18 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 13 Mar 2022 23:56:02 +0000 (16:56 -0700)
src/language/stats/ctables.c

index 1729f34f3b9adeaa2fe1bf4adc162fc53af4dca4..d3ab1a290a01f5e14244b7c332896ea2bd4d497d 100644 (file)
@@ -1435,15 +1435,21 @@ ctables_execute (struct dataset *ds, struct ctables *ct)
             {
               struct ctables_freqtab *ft = t->fts[j];
 
-#if 0
               for (size_t k = 0; k < ft->vars.n; k++)
                 {
                   const struct variable *var = ft->vars.vars[k];
-                  if (
-
-
+                  switch (var_is_value_missing (var, case_data (c, var)))
+                    {
+                    case MV_SYSTEM:
+                      goto next_ft;
+
+                    case MV_USER:
+                      if (!t->categories[var_get_dict_index (var)]
+                          || !t->categories[var_get_dict_index (var)]->include_missing)
+                        goto next_ft;
+                      break;
+                    }
                 }
-#endif
               size_t hash = 0;
               for (size_t k = 0; k < ft->vars.n; k++)
                 {