首页 > 解决方案 > 计算有条件的出现次数

问题描述

我正在尝试计算电子邮件出现在我的数据中的次数。我目前正在使用此代码:

AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=Email 
/Number=N.

这工作正常,但缺少我需要的一个条件。

我还有另一个变量:带有选项 1、2、3、4、5 或 6 的周(数字)。

如果电子邮件出现在第 6 周的某个时间点,我只希望 SPSS 对电子邮件进行计数。

例如:

  Email            Week         N
jane@aol.com         6          2
bill@gmail.com       3          
bill@gmail.com       4         
sarah@hotmail.com    6          1
jane@aol.com         4          2

如您所见,因为 jane@aol.com 至少在第 6 周出现过一次,所以我希望它计算文件中她电子邮件的其余出现(包括第 6 周未出现的那些)。但是比尔,他在档案中出现了两次,但我从不想数他,因为这两个实例都没有出现在第 6 周。

我怎样才能编辑我的语法来完成这个?谢谢!

标签: spss

解决方案


首先,重新创建您的示例数据:

data list list/email(a50) week(f1).
begin data
"jane@aol.com" 6
"bill@gmail.com" 3
"bill@gmail.com" 4
"sarah@hotmail.com" 6
"jane@aol.com" 4
end data.

现在运行这个:

* Identifying emails that had week 6 at least once:  .
if week=6 has6=1.
aggregate out=* mode=addvariables overwrite=yes/break=email /has6=max(has6).
* now to count occurences.
aggregate out=* mode=addvariables /break=email /n=sum(has6).

推荐阅读