如何使用 SPSS 中其他受访者的数据计算新变量?

How do I compute a new variable using data from other respondents in SPSS?

我有一组来自问卷调查的数据,要求每个参与者提名某人,然后对该人的多项才能进行评分。与此相关的变量是:

参与者的 ID (id)

被提名人的 ID (nomid)

一组关于被提名人的问题,分数为 0-7 (q1 - q10)

q1 - q10 的平均值 (qmean)

如果其他参与者提名个人(即,如果他们的 nomids 等于个人的 id),我将如何格式化计算新变量的语法命令,该变量等于其他参与者的 qmeans 的平均值?

显然 -

do if nomid = id. 
compute qmeangot = mean(qmean). 
execute. 

不会起作用,因为如果他们以某种方式提名自己,那么它只会创建一个与该参与者的 qmean 相同的变量。

我在网上找不到任何关于如何在语法命令中的变量上使用多个参与者的分数的内容。

您需要通过 nomid 变量进行聚合以获得 qmean 平均值,然后将新数据重新附加回原始数据,以便每个参与者都获得提名的平均值(如果他们有)。

这是为了创建一些假数据来演示:

data list list/id nomid (2a1) qmean (f6.2).
begin data
'a' 'b' 5.3
'b' 'a' 4.2
'c' 'a' 6.1
'd' 'b' 5.5
'e' 'c' 4.3
end data.

现在开始执行实际任务:

dataset name gen.
sort cases by id.
dataset declare agg.
aggregate out=agg  /break nomid /nomMean=mean(qmean). /*this created the requested calculation.
match files /file=* /table=agg/ rename nomid=id /by id. /* this attaches it back to original data.
exe.