SPSS中不同值的计算

问题描述 投票:0回答:1

我有一个普遍的问题,但我会举一个我正在寻找的例子:

假设我想找出考生完成测试所需的时间与总测试时间之间的差异。在 SPSS 中我会写:

计算 test_diff =total_test_time - 应试者_test_time。

这很简单。但是,每种语言的总测试时间有所不同(例如,英语为 60 分钟,西班牙语为 70 分钟)。

SPSS中根据语言改变total-test_time变化的语法/函数是什么?

DO IF 看起来很麻烦,因为有很多语言。

我的逻辑是我需要某种包含所有语言和测试时间的“表”。 SPSS 需要确定测试是用哪种语言完成的,并采用适当的总测试时间值。但我不知道如何在SPSS中做到这一点,或者也许有更好的解决方案。

spss
1个回答
0
投票

如果只有几种语言,您可以通过从语言变量重新编码来创建

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.
© www.soinside.com 2019 - 2024. All rights reserved.