概述 (AUTORECODE 命令)

AUTORECODE 将字符串和数字变量的值重新编码为连续整数,并将重新编码的值放入称为 目标变量的新变量中。 原始变量的值标签或值用作目标变量的值标签。 AUTORECODE 对于从 ONEWAYDISCRIMINANT之类的过程的字符串变量创建数字自变量 (分组) 变量非常有用。 AUTORECODE 还可以将因子变量的值重新编码为连续整数,这可能是某些过程所要求的,并且会减少某些统计过程所需的工作空间量。

基本规范

基本规范为 VARIABLESINTOVARIABLES 指定要重新编码的变量。 INTO 提供用于存储新值的目标变量的名称。 VARIABLESINTO 必须命名或暗示相同数量的变量。

子命令顺序

  • 必须首先指定 VARIABLES
  • INTO 必须紧跟 VARIABLES
  • 可以按任何顺序指定所有其他子命令。

语法规则

  • 不能将变量重新编码到自身中。 更一般地说,目标变量名不能与工作文件中已有的任何变量名重复。
  • 如果指定了 GROUPAPPLY TEMPLATE 子命令,那么 VARIABLES 子命令中的所有变量必须是同一类型 (数字或字符串)。
  • 如果指定了 APPLY TEMPLATE ,那么 VARIABLES 子命令中的所有变量都必须是与模板中定义的类型相同的类型 (数字或字符串)。
  • APPLY TEMPLATESAVE TEMPLATE 子命令上的文件规范遵循文件规范的常规约定。 建议将文件规范括在引号中。

操作

  • 将对要重新编码的每个变量的值进行排序,然后分配数字值。 缺省情况下,值按升序分配: 对于原始变量的每个值, 1 分配给原始变量的最低非缺失值; 2 分配给第二低的非缺失值; 依此类推。
  • 原始变量的值保持不变。
  • 缺失值将重新编码为高于任何非缺失值的值,并保留其顺序。 例如,如果原始变量具有 10 个非缺失值,那么第一个缺失值将重新编码为 11 ,并保留其用户缺失状态。 系统缺失值仍然是系统缺失值。 (请参阅 GROUPAPPLY TEMPLATESAVE TEMPLATE 子命令,以了解有关用户缺失值的其他规则。)
  • AUTORECODE 不会对工作文件中的个案进行排序。 因此,分配给目标变量的连续数字可能在文件中不按顺序排列。
  • 为目标变量分配与原始源变量相同的变量标签。 要更改变量标签,请在 AUTORECODE之后使用 VARIABLE LABELS 命令。
  • 将自动为目标变量的每个值生成值标签。 如果原始值具有标签,那么该标签将用于相应的新值。 如果原始值没有标签,那么旧值本身将用作新值的值标签。 旧值的已定义打印格式用于创建新的值标签。
  • AUTORECODE 忽略 SPLIT FILE 规范。 但是,任何 SELECT IF 规范都对 AUTORECODE有效。