SPSS - 声明并使用最大案例数作为常量

时间:2015-05-25 22:17:34

标签: max percentage spss

我有数据,我必须向客户端提供一个脚本,其中包含由另一个变量分组的特定变量的简单百分比。当我尝试计算案例总数(观察或行,无论你想要什么)时,问题出现了,但似乎根本不可能。

我搜索了一些代码,这些代码可以让我为每个注册的案例声明一个具有相同值(最大案例数)的数值常量变量,如下所示:

COMPUTE total_rows=$CASENUM. 
EXECUTE.

COMPUTE max_number_rows = MAX(total_rows) .
COMPUTE total_percentage = MyVariable / max_number_rows * 100 .

但它不起作用......

通过互联网,我发现唯一的方法是使用AGGREGATE命令,但我无法使用它,因为我必须提供一个且只有一个脚本文件和输出文件。我不能给客户端一个.sav包含原始数据,另一个包含AGGREGATE函数生成的新表。

2 个答案:

答案 0 :(得分:1)

AGGREGATE可以直接用于提取数据集中的案例总数:

AGGREGATE OUTFILE=* MODE=ADDVARIABLES /NRows=N.

查找AGGREGATE的注释,特别是可用的不同聚合函数。特别是,我要提到的是功能NNU之间的区别,其中N返回加权的总基本大小,NU是未加权的基本大小(当然,如果没有影响加权,则两者都产生相同的值。)

答案 1 :(得分:0)

AGGREGATE是正确的方法。默认情况下,聚合会将新变量写入活动数据集,因此除非您明确指示为聚合变量创建新文件,否则不会使用其他数据文件。

尝试:

compute total_rows = $casenum.
aggregate nrows = max(total_rows).
compute total_percentage = (myvariable/nrows) * 100.
exe.

delete variables nrows total_rows.