更改变量属性 3 – 类型
作者:Ruben Geert van den Berg,来自 SPSS 字典教程
SPSS 提供了多种更改变量类型的方法。本教程将引导您完成一些示例。
SPSS 变量类型 - 为什么要更改它?
在 SPSS 中更改变量类型
- 首先要注意的是,SPSS 中实际上只有两种变量类型:字符串 (string) 和 数值 (numeric)。 有关更多信息,请参见 SPSS 数值变量基础。
- 从 SPSS 16 版本开始,可以使用 ALTER TYPE 来更改变量的类型。 请记住,它会覆盖原始变量,如果无法应用请求的转换,则会导致 系统缺失值 (system missing values)。
- 但是,可以通过 语法 (syntax) 并进行适当的备份来避免数据或精力的损失。
- 或者,在应用
ALTER TYPE
之前,使用 SPSS 克隆变量工具 (SPSS Clone Variables Tool)。
SPSS Alter Type 语法示例
(以下语法使用的测试数据位于 此处。)
***1. 将 "birthday" 转换为字符串 (string)。
**
alter type birthday(a10).
***2. 转换回具有日期格式的数值变量 (numeric variable)。
**
alter type birthday(edate10).
SPSS 字符串 (String) 和数值 (Numeric) 函数
- 将数值变量转换为字符串的另一种更经典的方法是使用
STRING
函数 (function)。 - 请注意,新的字符串变量(与数值变量相反)首先必须通过
STRING
命令 (command) 来声明(“创建”)。 - 使用
NUMERIC
函数可以将字符串变量转换为数值变量。
SPSS 字符串 (String) 和数值 (Numeric) 语法示例
(以下语法使用的测试数据位于 此处。)
***1. 用于声明新字符串变量的字符串命令。
**
string str_q1(a1).
***2. 使用值填充新的字符串变量。
**
compute str_q1 = string(q1,f1)./* 字符串函数 (String function).
exe.
***3. 将新的字符串变量转换回(新的)数值变量。
**
compute num_q1 = numeric(str_q1,f1).
exe.
***4. 练习后删除两个新变量。
**
delete variables str_q1 num_q1.
SPSS Autorecode 命令和 Valuelabels 函数
- 最后但并非最不重要的一点是,可以使用
AUTORECODE
命令将字符串变量转换为数值变量。 - 每个不同的字符串值都呈现为新数值变量中值的 Value Label。
AUTORECODE
通常应用于具有许多重复值的字符串变量。- 相反,将 Value Label 作为值传递到新的字符串变量中是通过
VALUELABELS
函数完成的。 - 在使用它之前,必须首先使用
STRING
命令声明新的字符串变量。
SPSS Autorecode 和 Valuelabels 语法示例
(以下语法使用的测试数据位于 此处。)
***1. 使用 autorecode 命令将字符串转换为(新的)数值变量。
**
autorecode name
/into num_name.
***2. 使用 string 命令声明新的字符串变量。
**
string str_name(a10).
***3. 使用(数值)变量的 Value Label 填充字符串变量。
**
compute str_name = valuelabels(num_name).
exe.
***4. 在练习结束时删除两个变量。
**
delete variables num_name to str_name.