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

时间:2019-04-13 23:46:49

标签: spss

我从调查表中获得了一组数据,要求每个参与者提名一个人,然后以几种才能对该人进行评分。与此相关的变量是:

参与者的ID(id)

被提名人(身份证)的ID

关于被提名人的一系列问题,范围为0-7(q1-q10)

q1-q10(qmean)的平均值

我如何格式化一个语法命令,以计算一个新变量,如果该变量提名了其他参与者,则该平均值等于其他参与者的qmean的平均值(即,如果他们的nomid等于该个体的id)?

很明显-

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

无效,因为如果参与者以某种方式提名了自己,那么它只会创建一个与参与者的qmean相同的变量。

我在网上找不到任何内容,说明如何在语法命令中使用几个参与者的分数。

1 个答案:

答案 0 :(得分:1)

您需要通过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.