我有一个Likert量表,(1-7),我想将响应2到7组合在一起并省略响应1.我正在使用SPSS并且有点困惑。
答案 0 :(得分:1)
我假设您想要转换变量。让我们调用变量“var1”,它需要转换为虚拟变量(0和1)。在这种情况下,可以使用以下代码将原始变量转换为“var1r”。
RECODE var1(1 = 0)(2 = 1)(3 = 1)(4 = 1)(5 = 1)(6 = 1)(7 = 1)变为var1r。
之前的代码创建了一个新变量,其中较高的响应(2-7)表示为1,较低的数字(1)表示为0.如果在交叉表中交叉此变量,则使用下一句法语:
通过var1r交叉var1。
它会相应地显示您的不同值。后者是一种验证您是否正确重新编码变量的方法。您可以使用类似的语法并随意更改变量。
祝你好运!答案 1 :(得分:1)
我认为最好的方法是clone原始变量,然后将RECODE
变成同一个变量。优点是您可以保持变量的顺序相同,并且您已经拥有变量标签和值标签。因此,如果变量名称为v1,则克隆它并运行
RECODE v1 (7=2).
现在使用
调整值标签 ADD VALUE LABELS v1 2 "this value means ... or ...".
这里给出了值2和7的含义。对于"省略"值1
,将其指定为missing value,如此
MISSING VALUES v1 (1).
这假设1
是唯一缺失的值。现在运行
CROSSTABS v1 by copy_v1.
假设您的克隆名为copy_v1
。遵循这些步骤是获得完美结果的简短而安全的途径。
<强>更新强>
我认为这种语法 - 尽管有效 - 可能不是OP的意思。另外,请参阅下面的评论。
答案 2 :(得分:0)
对于将1重新编码为0而将所有其他值重新编码为1,替代方案是
compute v1 = v1 gt 1.
这看起来像无效语法,但在tutorial中对此进行了解释。你也可以将这个技巧用于很多其他的东西。
为了保持安全,首先克隆原始变量,以便您可以将其与重新编码的版本交叉以确保结果正确。