/* 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);
}
}
])
AT_CLEANUP
+
+
+
+
+AT_SETUP([MEANS missing=table ])
+
+AT_DATA([means-miss-table.sps], [dnl
+data list notable list /a * b * g1.
+begin data.
+1 9 1
+2 9 1
+3 9 1
+4 9 2
+5 9 2
+6 9 2
+7 . 2
+end data.
+
+MEANS a b BY g1
+ /a BY g1
+ /cells = COUNT
+ /missing = TABLE
+ .
+
+MEANS a b BY g1
+ /a BY g1
+ /cells = COUNT
+ .
+])
+
+
+AT_CHECK([pspp -O format=csv means-miss-table.sps], [0],
+ [dnl
+Table: Case Processing Summary
+,Cases,,,,,
+,Included,,Excluded,,Total,
+,N,Percent,N,Percent,N,Percent
+a: g1,7,100%,0,0%,7,100%
+b: g1,6,85.7143%,1,14.2857%,7,100%
+
+Table: Report
+,g1,N
+a,1.00,3.00
+,2.00,3.00
+b,1.00,3.00
+,2.00,3.00
+
+Table: Case Processing Summary
+,Cases,,,,,
+,Included,,Excluded,,Total,
+,N,Percent,N,Percent,N,Percent
+a: g1,7,100%,0,0%,7,100%
+
+Table: Report
+,g1,N
+a,1.00,3.00
+,2.00,4.00
+
+Table: Case Processing Summary
+,Cases,,,,,
+,Included,,Excluded,,Total,
+,N,Percent,N,Percent,N,Percent
+a: g1,7,100%,0,0%,7,100%
+b: g1,6,85.7143%,1,14.2857%,7,100%
+
+Table: Report
+,g1,N
+a,1.00,3.00
+,2.00,4.00
+b,1.00,3.00
+,2.00,3.00
+
+Table: Case Processing Summary
+,Cases,,,,,
+,Included,,Excluded,,Total,
+,N,Percent,N,Percent,N,Percent
+a: g1,7,100%,0,0%,7,100%
+
+Table: Report
+,g1,N
+a,1.00,3.00
+,2.00,4.00
+])
+
+AT_CLEANUP
+
+
+