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

标签 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. 您的 sexrace 变量旨在定义相互排斥的组(即 - 每个案例都属于一个组,并且没有一个案例符合多个组的条件)

  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

所以我猜测在运行您的语法后没有任何案例 ghave sexrace=1 :) 女性的逻辑完全相同。

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

关于spss - 使用 SPSS IF 语法从两个分类变量创建一个新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858673/

相关文章:

spss - 按性别重新编码或计算年龄类别

macros - SPSS CTables 通过宏

spss - 使用语法在 SPSS 数据集之间复制变量

SPSS:想要在许多不同的日期变量之间复制相同的 datediff 函数并生成多个结果变量

python - 将 SAV 转换为 CSV

r - 如何在 R 或 SPSS 中配对网络流量数据行?

string - SPSS 替换缺失值

macros - 循环遍历宏内 SPSS 变量的值

r - 效果与预测函数

statistics - 统计余弦分析,