我在使用SPSS自定义表运行数据时使用权重。
因此,由于小数舍入,预计列或行值可能不会累加到行总数,列总数或表总数
样本表结果:
IdenTrust
有没有办法强制SPSS输出正确的行,列或表总计?
预期的表输出:
DST Root CA X3
答案 0 :(得分:2)
答案 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。