在条件句中使用变量

时间:2016-05-10 17:47:26

标签: spss

我想在变量中保存一个值,然后在条件句中使用它。为了澄清这一点,我将给你一个更简单的例子:想象一下,我有一个动物(狗和猫),他们的年龄(1或2)和他们的体重的数据库。我想做以下条件:

IF( animal=dog & age=1 & weight>= percentile75 ) Wdogs=1.
EXECUTE.
IF( animal=dog & age=1 & weight<percentile75) Wdogs=0.
EXECUTE

我想自动计算百分位数75并保存在一个变量中,这样我就可以在任何数据库中使用该代码。另外,如果我更改数据库并执行代码,我想重写变量。有没有办法做到这一点?

非常感谢

2 个答案:

答案 0 :(得分:1)

您可以使用RANK将权重分为n组。该命令创建一个新的rank变量,然后您可以在条件中使用该变量。 要在每个相关子组中单独完成排名,请使用BY子命令。 在您的示例中,每个动物/体重子组将分别排序为权重四分位数,后续命令将使用新变量:

RANK VARIABLES=weight (A) BY animal weight/NTILES(4).
IF(animal=dog & age=1 & Nweight=4) Wdogs=1.
IF(animal=dog & age=1 & Nweight<=3) Wdogs=0.
EXECUTE.

您可以使用(而不是两个if命令)保存一行语法:

IF(animal=dog & age=1) Wdogs=(Nweight=4).

答案 1 :(得分:1)

第一件事就是丢失了那些EXECUTE命令(它们是不必要的,并且背叛你作为具有默认选项的noob点和点击器)。从其他帖子中我发现你需要使用多个变量来做到这一点。通过玷污VARSTOCASES来简化你的生活,用BY保持目前的RANK并在芭比排队上放一只f虾(或PRAWN)。