我正在努力使用图形用户界面在 SPSS 中重新编码缺失值。我可以使用 GUI 和如下所示的对话框轻松地重新编码数值变量:
但是当我在同一个对话框中输入一个字符串变量时,将新值定义为“系统缺失”的选项不可用:
这么简单的问题肯定不用语法编辑器就可以解决吗?
我使用的是 SPSS 19 版
我正在努力使用图形用户界面在 SPSS 中重新编码缺失值。我可以使用 GUI 和如下所示的对话框轻松地重新编码数值变量:
但是当我在同一个对话框中输入一个字符串变量时,将新值定义为“系统缺失”的选项不可用:
这么简单的问题肯定不用语法编辑器就可以解决吗?
我使用的是 SPSS 19 版
这是因为系统缺失值仅针对数字变量定义。您可以为字符串定义用户缺失值。例如,重新编码为一些未使用的字符串值,"99999"
然后将该值设置"99999"
为用户丢失。
IBM SPSS Statistics 19 命令语法参考,第 55 页:
不能为字符串变量生成系统缺失值,因为任何字符都是合法的字符串值。
尝试...
RECODE OldStringVar ("Missing" = "").
或者...
DO IF OldStringVar = "".
RECODE OldStringVar (ELSE = COPY) INTO NewStringVar.
END IF.
或这种方法的变体。
我有同样的问题。我在该教程中找到了答案:
http://libguides.library.kent.edu/content_mobile.php?pid=481510&sid=4120229
在“自动重新编码”下
“事实上,这是让 SPSS 识别字符串变量缺失值的唯一方法;否则,SPSS 会将空白字符串视为有效值”
请按照上面的链接获取说明。谢谢
在代码中可以做到。执行以下操作(以地址字段为例): - 使用“自动重新编码”生成一个新的临时变量,其中旧变量的缺失值将很容易识别。转到“Transform\Automatic Recode”,双击文本变量(地址),输入新名称(Addr_Temp),然后单击“添加新名称”。标记“将空白字符串值视为用户缺失”框,然后单击确定。在代码中:
AUTORECODE VARIABLES=Address
/INTO Addr_Temp
/BLANK=MISSING
/PRINT.
** 可能,MISSING 将是最后一个(最高)值,我不确定,但很容易证明。现在,假设这个值为 94,这意味着您的数据中有 93 个绝对不同的有效值 address 并且第四个是空白(想象一个本地人出生地的数据,在一个有 93 家医院的城市。会有是93个不同的医院地址,有些是外国人的空白)。注意特殊字符,可能最后一个代码不会是空白字段...首先检查输出窗口的重新编码列表。- 将缺失值编码为已知和不寻常的代码,例如 9999FFFF(或其他不可能的街道地址,在我们的地址示例中),如下所示:
RECODE Addr_Temp (94='9999FFFF') INTO Address.
EXECUTE.
不幸的是,这在图形界面中不起作用,只有语法,至少在我的 SPSS 版本中(你可以在你的版本中尝试,只需进行正常的重新编码)。它不接受存在的变量
现在您在文本字段中有值“9999FFFF”,而不是空白值,并且可以根据需要使用(包括手动重新编码)。请记住在创建最终变量或“自动重新编码”变量时将其重新编码为数据丢失。
首先打开语法编辑器
缺少值 NAME_VAR1、NAME_VAR2 (" ")。执行
现在您可以使用 GUI 轻松地重新编码字符串变量。
重要的!!!仅适用于长度为 8 或更少的变量