我有一个普遍的问题,但我会举一个我正在寻找的例子:
假设我想找出考生完成测试所需的时间与总测试时间之间的差异。在 SPSS 中我会写:
计算 test_diff =total_test_time - 应试者_test_time。
这很简单。但是,每种语言的总测试时间有所不同(例如,英语为 60 分钟,西班牙语为 70 分钟)。
SPSS中根据语言改变total-test_time变化的语法/函数是什么?
DO IF 看起来很麻烦,因为有很多语言。
我的逻辑是我需要某种包含所有语言和测试时间的“表”。 SPSS 需要确定测试是用哪种语言完成的,并采用适当的总测试时间值。但我不知道如何在SPSS中做到这一点,或者也许有更好的解决方案。
如果只有几种语言,您可以通过从语言变量重新编码来创建
total_test_time
变量:
recode language
("English"=60)
("Hebrew" "Arabic"=65)
("Spanish"=70)
into total_test_time .
如果你有很长的语言列表,这也会很麻烦,所以你可以通过创建一个包含“语言”和
total_test_time
两列的数据集来完成,然后按语言将其与原始数据进行匹配:
dataset activate languages.
sort cases by language.
dataset activate gendata.
sort cases by language.
match files /file=* /table=languages /by language.
execute.
在这两种情况下,您最终都会得到新变量
total_test_time
,您现在可以在此处使用它:
COMPUTE test_diff = total_test_time - examinee_test_time.