【问题标题】:Using SPSS IF syntax to create a new variable from two categorical variables使用 SPSS IF 语法从两个分类变量创建一个新变量
【发布时间】:2017-12-17 19:29:11
【问题描述】:

我想从其他两个变量创建一个新变量。

第一个是 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 插入男性总数和女性总数?非常感谢任何帮助。

【问题讨论】:

  • 在下面查看我的答案,解释为什么 Total 行看起来有问题。他们不是 :)。但无论如何,请更详细地解释您要通过这两行实现的目标
  • 我正在尝试创建一个变量以在条形图的 x 轴上使用。然而,我开始认为我真正需要做的是弄清楚如何让 GPL 允许我将两个不同的变量添加到同一个 x 轴。

标签: spss


【解决方案1】:

您缺少两个关键方面:

  1. 您的 sexracevariable 旨在定义互斥组(即 - 每个案例都属于一个组,并且任何案例都不能属于多个组)

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

更重要的是:

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

所以我猜在运行你的语法后没有任何情况下会出现 sexrace=1 :) 女性的逻辑完全一样。

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

【讨论】:

  • 感谢您澄清我的一些问题,Horace。我有一种预感,事情正在被改写,但你的解释清楚地说明了为什么会发生这种情况。我想要这个变量,这样我就可以在 X 轴上制作出版质量的性别柱状图,在 Y 轴上制作 MEAN(收入)。此外,我将使用 sexrace 变量构建另一个变量,该变量还包含另一个条形图 x 轴的年龄队列。
  • 此外,在 Total male 和 Total female 中出现的唯一案例是 SYSMIS 案例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 2021-11-01
  • 2011-02-26
相关资源
最近更新 更多