From 3db3eb092e5ea941d815e6377ecdb5ea260a5a25 Mon Sep 17 00:00:00 2001 From: Friedrich Beckmann Date: Tue, 21 Feb 2017 15:52:41 +0100 Subject: [PATCH] FREQUENCIES: fixed VARIANCE output - fixes bug #50366 The FREQUENCIES command output the mean instead of variance result when variance was requested. The bug and a patch was reported on savannah. I added a test to identify the problem and the proposed patch. fixes bug #50366 --- src/language/stats/frequencies.c | 2 +- tests/language/stats/frequencies.at | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/language/stats/frequencies.c b/src/language/stats/frequencies.c index 675a02319a..305d4f1d75 100644 --- a/src/language/stats/frequencies.c +++ b/src/language/stats/frequencies.c @@ -704,7 +704,7 @@ cmd_frequencies (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "VARIANCE")) { - frq.stats |= BIT_INDEX (FRQ_ST_MEAN); + frq.stats |= BIT_INDEX (FRQ_ST_VARIANCE); frq.n_stats++; } else if (lex_match_id (lexer, "KURTOSIS")) diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at index 7c55110c96..e90d2d0ad0 100644 --- a/tests/language/stats/frequencies.at +++ b/tests/language/stats/frequencies.at @@ -641,7 +641,36 @@ Percentiles,50 (Median),2.00 ]) AT_CLEANUP +AT_SETUP([FREQUENCIES variance]) +AT_DATA([variance.sps], [dnl +data list notable list /forename (A12) height. +begin data. +Ahmed 188 +bertram 167 +Catherine 134 +David 109 +end data. + +FREQUENCIES + /VARIABLES = height + /STATISTICS = VARIANCE. +]) + +AT_CHECK([pspp variance.sps -O format=csv], [0], [dnl +Table: height +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,109.00,1,25.00,25.00,25.00 +,134.00,1,25.00,25.00,50.00 +,167.00,1,25.00,25.00,75.00 +,188.00,1,25.00,25.00,100.00 +Total,,4,100.0,100.0, +Table: height +N,Valid,4 +,Missing,0 +Variance,,1223.00 +]) +AT_CLEANUP AT_SETUP([FREQUENCIES default statistics]) AT_DATA([median.sps], [dnl -- 2.30.2