概述 (AUTORECODE 命令)
AUTORECODE 将字符串和数字变量的值重新编码为连续整数,并将重新编码的值放入称为 目标变量的新变量中。 原始变量的值标签或值用作目标变量的值标签。 AUTORECODE 对于从 ONEWAY 和 DISCRIMINANT之类的过程的字符串变量创建数字自变量 (分组) 变量非常有用。 AUTORECODE 还可以将因子变量的值重新编码为连续整数,这可能是某些过程所要求的,并且会减少某些统计过程所需的工作空间量。
基本规范
基本规范为 VARIABLES 和 INTO。 VARIABLES 指定要重新编码的变量。 INTO 提供用于存储新值的目标变量的名称。 VARIABLES 和 INTO 必须命名或暗示相同数量的变量。
子命令顺序
- 必须首先指定
VARIABLES。 INTO必须紧跟VARIABLES。- 可以按任何顺序指定所有其他子命令。
语法规则
- 不能将变量重新编码到自身中。 更一般地说,目标变量名不能与工作文件中已有的任何变量名重复。
- 如果指定了
GROUP或APPLY TEMPLATE子命令,那么VARIABLES子命令中的所有变量必须是同一类型 (数字或字符串)。 - 如果指定了
APPLY TEMPLATE,那么VARIABLES子命令中的所有变量都必须是与模板中定义的类型相同的类型 (数字或字符串)。 APPLY TEMPLATE和SAVE TEMPLATE子命令上的文件规范遵循文件规范的常规约定。 建议将文件规范括在引号中。
操作
- 将对要重新编码的每个变量的值进行排序,然后分配数字值。 缺省情况下,值按升序分配: 对于原始变量的每个值, 1 分配给原始变量的最低非缺失值; 2 分配给第二低的非缺失值; 依此类推。
- 原始变量的值保持不变。
- 缺失值将重新编码为高于任何非缺失值的值,并保留其顺序。 例如,如果原始变量具有 10 个非缺失值,那么第一个缺失值将重新编码为 11 ,并保留其用户缺失状态。 系统缺失值仍然是系统缺失值。 (请参阅
GROUP,APPLY TEMPLATE和SAVE TEMPLATE子命令,以了解有关用户缺失值的其他规则。) AUTORECODE不会对工作文件中的个案进行排序。 因此,分配给目标变量的连续数字可能在文件中不按顺序排列。- 为目标变量分配与原始源变量相同的变量标签。 要更改变量标签,请在
AUTORECODE之后使用VARIABLE LABELS命令。 - 将自动为目标变量的每个值生成值标签。 如果原始值具有标签,那么该标签将用于相应的新值。 如果原始值没有标签,那么旧值本身将用作新值的值标签。 旧值的已定义打印格式用于创建新的值标签。
AUTORECODE忽略SPLIT FILE规范。 但是,任何SELECT IF规范都对AUTORECODE有效。