【问题标题】:Recoding variable in SPSS with syntax用语法在 SPSS 中重新编码变量
【发布时间】:2016-07-04 12:08:06
【问题描述】:

我有一个包含 1500 多个医疗代码的数据集 (Verrichtingcode)。它们的编码如 337409A、339830E 或 336690。这是一个字符串变量。我想使用语法将它们更改为,比如说:腹腔镜腹部手术。我准备好了所有这些代码的翻译。

如果我使用语法:

VALUE LABELS
Verrichtingcode
339985B 'Sedation'.
EXECUTE.

出来的是:339985 = "B 'Sedation'"

这不起作用。

然后我尝试重新编码 >

RECODE Verrichtingcode
(339985B= AA339985BBB).
EXECUTE.


RECODE Verrichtingcode
(339985B= AA339985BBB).
EXECUTE.

这很好用,直到你得到一个结尾带有 E 的代码。

RECODE Verrichtingcode
(336070D= AA336070DBB)
(333698E= AA333698EBB).
EXECUTE.

RECODE Verrichtingcode
(336070D= AA336070DBB)
(333698E= AA333698EBB).
EXECUTE.

我得到的是:

>Warning # 203 in column 2.  Text: 333698E
>An 'E', beginning the exponent portion of a number, was not followed by any
>digits.
>The symbol will be treated as an invalid special character.

>Error # 4654 in column 2.  Text: 339993
>The RECODE command attempts to test a string variable for having a numeric
>value.  Note that LOWEST, HIGHEST, and SYSMIS are considered to be numeric
>values.
>Execution of this command stops.
EXECUTE.

我当然可以在变量视图中手动完成所有操作,但是使用 1500 多个程序需要一些时间;)

如果有人愿意帮助我,我将不胜感激。如果您需要更多信息,我很乐意提供。

【问题讨论】:

    标签: syntax spss


    【解决方案1】:

    对于 1500 个代码,您真的不想使用 IF 或 RECODE 来执行此操作。分配值标签是处理此问题的常用方法。如果您确实需要将变量值作为标识字符串,那么查找表会好得多。带有 TABLE 子命令的 MATCH FILES 可以处理这个问题。您将使用键和标签创建一个数据集,对它和常规数据进行排序,然后将 MATCH 与 TABLE 一起使用。

    【讨论】:

      【解决方案2】:

      由于这是一个字符串变量,您需要在您使用的两个命令中的值周围使用引号:

      VALUE LABELS  Verrichtingcode
      '339985B' 'Sedation'.
      

      RECODE Verrichtingcode ('339985B'= 'AA339985BBB').
      EXECUTE.
      

      【讨论】:

        猜你喜欢
        • 2016-05-29
        • 1970-01-01
        • 1970-01-01
        • 2016-11-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 2021-08-12
        相关资源
        最近更新 更多