概觀 (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