SPSS:由于数字四舍五入导致的总数不一致

时间:2016-12-22 08:27:29

标签: spss

我在使用SPSS自定义表运行数据时使用权重。

因此,由于小数舍入,预计列或行值可能不会累加到行总数,列总数或表总数

样本表结果:

IdenTrust

有没有办法强制SPSS输出正确的行,列或表总计?

预期的表输出:

DST Root CA X3

2 个答案:

答案 0 :(得分:2)

如果您使用CROSSTABS程序生成这些数据,则应使用ASIS选项。

答案 1 :(得分:0)

要明确:CTABLES显示的总数在数学上是正确的。但是,如果要显示行中显示值总和的总和,则执行此操作的唯一方法是使用STATS TABLE CALC扩展命令使用舍入值重新计算总计。

以下是如何做到这一点。 首先,您需要创建一个名为customcalc.py的Python模块,其中包含以下内容

def custom(datacells, ncells, roworcol):  
    '''Calculate sum of formatted values'''  
    total = sum(float(datacells.GetValueAt(roworcol,i)) for i in range(ncells))  
    return(total)

此文件应保存在Statistics安装下的python \ lib \ site-packages目录中,或者保存在Python可以找到的任何其他位置。

然后,在CTABLES命令之后,运行此语法

STATS TABLE CALC SUBTYPE="customtable" PROCESS=PRECEDING  
/TARGET custommodule="customcalc"  
FORMULA="customcalc.custom(datacells, ncells, roworcol)" DIMENSION=COLUMNS LEVEL = -2  LOCATION="Total"   
LABEL="Rounded Count". 

该自定义函数会在每行中添加格式化值而不是完整精度值。如果您已抑制默认统计信息名称Count,以便“Total”是最里面的标签,请使用LEVEL = -1而不是LEVEL = -2 ABOVE。