使用SPSS IF语法从两个分类变量创建新变量

时间:2017-12-17 19:29:11

标签: spss

我想从另外两个变量创建一个新变量。

第一个是SEX(0 =男性,1 =女性;虽然我们已经计划了这种可能性,但受访者没有选择其他性别),而第二个是RACE9(0 =白色,1 =种族化)。新变量名为SEXRACE9。

虽然以下代码生成白人男性,种族化男性,白人女性和种族化女性的计数,但该代码未能计算出男性总数或女性总数。

* Create combined sex and race categorical variable. 

IF (sex=0 AND (race9=0 OR race9=1)) sexrace9=1. /*Total males - glitchy.
IF sex=0 AND race9=1 sexrace9=2. /*White males.
IF sex=0 AND race9=0 sexrace9=3. /*Racialized males.
IF (sex=1 AND (race9=0 OR race9=1)) sexrace9=4. /*Total females - glitchy.
IF sex=1 AND race9=1 sexrace9=5. /*White females.
IF sex=1 AND race9=0 sexrace9=6. /*Racialized females.
EXECUTE.

我错过了什么吗?或者,有没有人有一个解决方案,如何使用COMPUTE插入总男性和总女性的计数?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您缺少两个关键方面:

  1. 您的sexrace变量旨在定义相互排斥的群组(即 - 每个案例属于一个群组,且任何案件都不能胜任多个群组)

  2. SPSS语法是逐行顺序运行的,因此语法行可以覆盖以前的行。

  3. 更重要的是:

    IF (sex=0 AND (race9=0 OR race9=1)) sexrace9=1.
    

    部分覆盖
    IF sex=0 AND race9=1 sexrace9=2. /*White males.
    

    因为白人男性有资格获得sexrace=1sexrace=2。 ,然后按行

    IF sex=0 AND race9=0 sexrace9=3. /*Racialized males.
    

    ,因为种族化男性有资格同时使用sexrace=1sexrace =3

    所以我猜测在运行你的语法之后没有任何情况ghave sexrace = 1 :) 对于女性来说,完全相同的逻辑。

    我不确定您希望通过Total MalesTotal Females语法行实现什么目标。您已经有sex变量来区分男性和女性。