在条件句中使用变量
Using a variable in a conditional sentence
我想在变量中保存一个值,然后在条件句中使用它。为了澄清这一点,我会给你一个更简单的例子:假设我有一个数据库,其中包含动物的种类(狗和猫)、它们的年龄(1 或 2)和它们的体重。我想做以下条件:
IF( animal=dog & age=1 & weight>= percentile75 ) Wdogs=1.
EXECUTE.
IF( animal=dog & age=1 & weight<percentile75) Wdogs=0.
EXECUTE
我想自动计算 percentile75 并保存在一个变量中,这样我就可以在我拥有的任何数据库中使用代码。如果我更改数据库并执行代码,我还想重写变量。有办法吗?
非常感谢
您可以使用 RANK 将权重分成 n 组。该命令创建一个新的排名变量,然后您可以在条件中使用它。
要在每个相关子组中单独进行排名,请使用 BY 子命令。
在您的示例中,每个 animal/weight 子组将分别排名为权重四分位数,后续命令将使用新变量:
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).
朋友,首先要丢失那些 EXECUTE 命令(它们是不必要的,并且会背叛您作为菜鸟点和默认选项的答题器)。从其他帖子中我看出您需要使用多个变量来做到这一点。通过精简 VARSTOCASES 来简化您的生活,用 BY 保持当前的 RANK,并将 f'ing Shrimp(或 PRAWN)放在芭比队列中。
我想在变量中保存一个值,然后在条件句中使用它。为了澄清这一点,我会给你一个更简单的例子:假设我有一个数据库,其中包含动物的种类(狗和猫)、它们的年龄(1 或 2)和它们的体重。我想做以下条件:
IF( animal=dog & age=1 & weight>= percentile75 ) Wdogs=1.
EXECUTE.
IF( animal=dog & age=1 & weight<percentile75) Wdogs=0.
EXECUTE
我想自动计算 percentile75 并保存在一个变量中,这样我就可以在我拥有的任何数据库中使用代码。如果我更改数据库并执行代码,我还想重写变量。有办法吗?
非常感谢
您可以使用 RANK 将权重分成 n 组。该命令创建一个新的排名变量,然后您可以在条件中使用它。 要在每个相关子组中单独进行排名,请使用 BY 子命令。 在您的示例中,每个 animal/weight 子组将分别排名为权重四分位数,后续命令将使用新变量:
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).
朋友,首先要丢失那些 EXECUTE 命令(它们是不必要的,并且会背叛您作为菜鸟点和默认选项的答题器)。从其他帖子中我看出您需要使用多个变量来做到这一点。通过精简 VARSTOCASES 来简化您的生活,用 BY 保持当前的 RANK,并将 f'ing Shrimp(或 PRAWN)放在芭比队列中。