字串變數 (RECODE 指令)
- 目標變數必須已存在。 若要建立新的字串變數,請先使用
STRING指令宣告變數,然後在RECODE上指定它。 - 新字串值不能長於目標變數的定義寬度。
- 如果新值短於目標變數的定義寬度,則值會以空白向右填補。
- 容許多個目標變數。 目標變數必須全部都是相同的定義寬度; 來源變數可以有不同的寬度。
- 如果來源變數和目標變數具有不同的寬度,則原始值寬度的準則是定義給來源變數的寬度; 重新編碼值寬度的準則是定義給目標變數的寬度。
搭配目標變數使用關鍵字 COPY
STRING STATE1 (A2).
RECODE STATE ('IO'='IA') (ELSE=COPY) INTO STATE1.
STRING宣告變數 STATE1 ,以便將其用作RECODE上的目標變數。RECODE指定 STATE 作為來源變數, STATE1 作為目標變數。 原始值 IO 會重新編碼為 IA。 關鍵字ELSE和COPY會複製未變更的所有其他狀態碼。 因此,除了具有原始值 IO 的觀察值之外, STATE 與 STATE1 是相同的。
將字串變數重新編碼為數值目標
RECODE SEX ('M'=1) ('F'=2) INTO NSEX.
RECODE會將字串變數 SEX 重新編碼為數值變數 NSEX。 任何非 M 或 F 的值都會變成系統遺漏值。- 程式可以使用數值變數 NSEX 比使用字串變數 SEX更有效率地處理大量觀察值。