我有SPSS中的电子邮件地址列表。我正在尝试编写语法来计算每个电子邮件地址出现的次数。
例如:
在所需的输出中,如果johndoe@aol.com在数据中出现3次,则我希望他的电子邮件的所有实例在新列中显示3。
我知道我可以编写语法来对其进行计数(即johndoe@aol.com第一次被分配1,然后分配给2,然后分配给3)...但这不是我想要的。
谢谢!
答案 0 :(得分:1)
执行此操作的步骤:
所有这四个命令都位于GUI的“数据”菜单中。语法可以完成整个事情:
SORT CASES BY Email.
*This will create a new variable N_EMAIL with the counts. It will appear for every case.
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/PRESORTED
/BREAK=Email
/N_EMAIL=N.
*Now we generate a "PrimaryFirst" indicator showing whether a given case is the first instance of its email.
MATCH FILES
/FILE=*
/BY Email
/FIRST=PrimaryFirst
/LAST=PrimaryLast.
DO IF (PrimaryFirst).
COMPUTE MatchSequence=1-PrimaryLast.
ELSE.
COMPUTE MatchSequence=MatchSequence+1.
END IF.
LEAVE MatchSequence.
FORMATS MatchSequence (f7).
COMPUTE InDupGrp=MatchSequence>0.
SORT CASES InDupGrp(D).
MATCH FILES
/FILE=*
/DROP=PrimaryLast InDupGrp MatchSequence.
EXECUTE.
*Filter out duplicate cases.
SELECT IF PrimaryFirst = 1.
EXECUTE.
*Final cleanup.
DELETE VARIABLES PrimaryFirst.
答案 1 :(得分:1)
只需运行:
AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=EmailAddress /num_instances=N.
新的列将出现在名为num_instances
的数据集中(您当然可以选择其他名称),该列将在每个电子邮件地址的所有实例中出现所需的计数。