【问题标题】:Cant assign missing values to string variable in SPSS using the GUI无法使用 GUI 将缺失值分配给 SPSS 中的字符串变量
【发布时间】:2012-12-18 10:35:09
【问题描述】:

我正在努力使用图形用户界面在 SPSS 中重新编码缺失值。 我可以使用 GUI 和如下所示的对话框轻松地重新编码数值变量:

但是当我在同一个对话框中输入一个字符串变量时,将新值定义为“系统缺失”的选项不可用:

这么简单的问题肯定不用语法编辑器就可以解决吗?

我使用的是 SPSS 19 版

【问题讨论】:

  • 在不使用语法编辑器的情况下做这种事情确实是一个非常糟糕的主意。如果他们对您的结果有疑问,您将如何告诉您的客户/老师?如果你不小心弄乱了你的数据,你会再次经历所有的鼠标点击吗?简单地使用Paste 而不是Ok 并保存您使用的所有语法可能会让您免于很多麻烦。

标签: spss missing-data data-manipulation


【解决方案1】:

这是因为系统缺失值仅针对数字变量定义。您可以为字符串定义用户缺失值。例如,重新编码为一些未使用的字符串值,例如 "99999",然后将值 "99999" 设置为 user-missing。

IBM SPSS Statistics 19 命令语法参考,第 55 页:

无法为字符串变量生成系统缺失值,因为任何字符都是合法的字符串值。

【讨论】:

  • 做到了 :) 你知道我是否可以一次将用户缺失分配给所有字符串变量,还是必须一个接一个地完成? (仍然假设我只使用 GUI)。
  • 请使用@ReneBern 这样的任务语法,一个简单的命令,如missing values all ("missing string") 修改文件中的所有变量或missing values V1 to V3 ("missing string") 指定数据集中特定范围内的变量。
【解决方案2】:

试试……

RECODE OldStringVar ("Missing" = "").

或者……

DO IF OldStringVar = "".
RECODE OldStringVar (ELSE = COPY) INTO NewStringVar.
END IF.

或这种方法的变体。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。我在那个教程中找到了答案:

    http://libguides.library.kent.edu/content_mobile.php?pid=481510&sid=4120229

    在“自动重新编码”下

    “事实上,这是让 SPSS 识别字符串变量缺失值的唯一方法;否则,SPSS 会将空白字符串视为有效值”

    请按照上述链接获取说明。谢谢

    【讨论】:

    • 给个参考也不错,但至少总结一下步骤更好。
    【解决方案4】:

    在代码中可以做到。执行以下操作(以地址字段为例): - 使用“自动重新编码”生成一个新的临时变量,其中旧变量的缺失值将很容易识别。转到“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”,而不是空白值,并且可以根据需要使用(包括手动重新编码)。请记住在创建最终变量时将其重新编码为数据丢失,或在“自动重新编码”中。

    【讨论】:

      【解决方案5】:

      首先打开语法编辑器

      缺少值 NAME_VAR1、NAME_VAR2 (" ")。 执行

      现在您可以使用 GUI 轻松地重新编码字符串变量。

      重要!!!仅适用于长度为 8 或更少的变量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-15
        • 2013-02-23
        • 1970-01-01
        • 2019-02-08
        • 1970-01-01
        • 1970-01-01
        • 2023-02-24
        • 1970-01-01
        相关资源
        最近更新 更多