自动重新编码
使用“自动重新编码”对话框可以将字符串值和数值转换为连续整数。 当类别代码不连续时,对许多过程来说,生成的空单元格将降低性能并增加内存要求。 此外,某些过程不能使用字符串变量,某些过程要求因子级别为连续的整数值。
- “自动重新编码”创建的新变量保留了旧变量中任何已定义的变量标签和值标签。 对没有已定义值标签的任何值,将使用原值作为重新编码后的值的标签。 一个表显示了旧值、新值以及值标签。
- 字符串值将按字母顺序重新编码,其中大写字母将排在相应的小写字母之前。
- 缺失值被重新编码为高于任何非缺失值的缺失值,并保留它们的原有顺序。 例如,如果原变量有 10 个非缺失值,最低的缺失值将被重新编码为 11,值 11 将作为新变量的缺失值。
对所有变量使用相同的重新编码方案。 使用此选项可以将一个自动重新编码方案应用于所有选定变量,从而为所有新变量生成一致的编码方案。
如果选择此选项,那么下列规则和限制适用:
- 所有变量必须为相同类型(数值或字符串)。
- 所有选定变量的观测值用于创建要重新编码为连续整数的值的排序顺序。
- 新变量的用户缺失值基于具有已定义用户缺失值的列表中的第一个变量。 将来自其他原变量的所有其他值(系统缺失值除外)都视为有效。
将空白字符串值视为用户缺失值。 对于字符串变量,不将空白值或空值视为系统缺失值。 此选项会将空字符串自动重新编码为高于最高非缺失值的用户缺失值。
模板
可以将自动重新编码方案保存在模板文件中,然后将其应用于其他变量和其他数据文件。
例如,每月可能有大量的字母数值产品代码要自动重新编码为整数,但在某些月份中添加了新产品代码,这会更改原始的自动重新编码方案。 如果将原始设计保存在模板中,然后将其应用于包含一组新代码的新数据,那么数据中遇到的任何新代码都会被自动重新编码为高于模板中最后一个值的值,从而保留了原始产品代码的原始自动重新编码方案。
将模板另存为。 将所选变量的自动重新编码方案保存在外部模板文件中。
- 该模板包含将原始非缺失值映射到重新编码的值的信息。
- 模板中仅保存非缺失值的信息。 不保留用户缺失值的信息。
- 如果选择了多个要进行重新编码的变量,但尚未选择对所有变量使用相同的自动重新编码方案,或者不应用现有模板作为自动重新编码的一部分,那么模板将基于列表中的第一个变量。
- 如果选择了多个要进行重新编码的变量,还选择了对所有变量使用相同的重新编码方案和/或选择了应用模板,那么模板将包含用于所有变量的组合自动重新编码方案。
应用模板。 将以前保存的自动重新编码模板应用于所选要进行重新编码的变量,从而将变量中的任何其他值附加到设计的末尾,并保留所保存设计中存储的原始值和自动重新编码的值的关系。
- 所选要进行重新编码的所有变量必须是相同类型(数值或字符串),并且该类型必须与模板中定义的类型匹配。
- 模板不包含有关用户缺失值的任何信息。 目标变量的用户缺失值基于具有已定义用户缺失值的原变量列表中的第一个变量。 将来自其他原变量的所有其他值(系统缺失值除外)都视为有效。
- 首先应用来自模板的值映射。 将所有剩余的值重新编码为高于模板中最后一个值的值,同时将用户缺失值(基于具有已定义用户缺失值的列表中的第一个变量)重新编码为高于最后一个有效值的值。
- 如果选择了多个要进行自动重新编码的变量,那么首先应用模板,然后对所选变量中的所有其他值进行通用的组合式自动重新编码,从而生成一个可用于所有所选变量的通用自动重新编码方案。
将字符串值或数字值重新编码为连续整数
- 从菜单中选择:
- 选择一个或多个要重新编码的变量。
- 对每个选定的变量,为新变量输入一个名称并单击新名称。