/* Missing value class for dependent variables */
enum mv_class dep_exclude;
+ bool listwise_exclude;
+
/* an array indicating which statistics are to be calculated */
int *cells;
means.exclude = MV_ANY;
means.dep_exclude = MV_ANY;
+ means.listwise_exclude = false;
means.table = NULL;
means.n_tables = 0;
be dropped FOR THAT TABLE ONLY.
*/
{
- means.exclude = MV_ANY;
- means.dep_exclude = MV_ANY;
+ means.listwise_exclude = true;
}
else if (lex_match_id (lexer, "DEPENDENT"))
/*
{
for (t = 0; t < cmd->n_tables; ++t)
{
+ bool something_missing = false;
int v;
struct mtable *table = &cmd->table[t];
is_missing (cmd, table->dep_vars[v],
table->interactions[i], c);
if (missing)
- table->summary[v * table->n_interactions + i].missing++;
+ {
+ something_missing = true;
+ table->summary[v * table->n_interactions + i].missing++;
+ }
else
table->summary[v * table->n_interactions + i].non_missing++;
}
}
+ if ( something_missing && cmd->listwise_exclude)
+ continue;
+
categoricals_update (table->cats, c);
}
}