本文数据可以通过以下链接获取:
链接:https://pan.baidu.com/s/1zNM6yINkA5QSPvO6trlUTw
提取码:9z8r
1.字段拆分:
- 将数据导入SPSS,其中有个
身份证号码
变量,日常分析中可以根据身份证号码抽取出诸如省份、城市、年龄、性别等信息,本例就对该字段进行拆分操作。
- 单击【转换→计算变量】选项,弹出
计算变量
对话框,在函数组
栏选择字符串
类,在函数和特殊变量
栏中双击Char.Substr(3)
函数,此时该函数就被移入数字表达式
栏内,,然后将表达式修改为CHAR.SUBSTR(身份证号码,7,4)
,这样就完成了函数设置。然后目标变量
栏内输入年份
,然后单击类型与标签
按钮,弹出计算变量:类型与标签
对话框,设置类型为字符串
,单击确认。
注:Char.Substr(3)
函数:Substr(变量名-字符串 , 提取的起始位置 , 提取的字符串个数) , 该函数使用方法类似Excel中的Mid函数。
- 此时数据中就新增了一个
年份
变量。
- 重复上述操作,将表达式修改为
CHAR.SUBSTR(身份证号码,11,2)
可以得到月份
变量。将表达式修改为CHAR.SUBSTR(身份证号码,13,2)
可以得到日期
变量。
2.字段合并:
字段合并就是将多个字段合并为一个新的字段。本例我们使用上步拆分得到的年份、月份、日期三个新变量,将其合并成一个新的变量出生日期
。
- 单击【转换→计算变量】选项,弹出
计算变量
对话框,在函数组
栏选择字符串
类,在函数和特殊变量
栏中双击Concat()
函数,此时该函数就被移入数字表达式
栏内,,然后将表达式修改为CONCAT(年份, "-" ,月份, "-" ,日期)
,这样就完成了函数设置。然后目标变量
栏内输入出生日期
,然后单击类型与标签
按钮,弹出计算变量:类型与标签
对话框,设置类型为字符串
并将宽度设置为10,单击确认。
注:CONCAT()
函数:CONCAT(变量名-字符串 , 连接符号 ,变量名-字符串) ,需注意的是所有符号都是在英文状态下输入,该函数使用方法类似Excel中的Concatenate函数。
- 此时数据中就新增了一个
出生日期
变量。
- 切换到
变量视图
窗口可以发现生成的出生日期
变量的数据类型为字符串
,可以将其更改为日期型
,此时就得到了一个日期型的变量。
- 此时就可以根据出生日期计算当前年龄。单击【转换→计算变量】选项,弹出
计算变量
对话框,在函数组
栏选择字符串
类,在时间运算
栏中双击Datediff()
函数,此时该函数就被移入数字表达式
栏内,然后将表达式修改为DATEDIFF(DATE.MDY(12,17,2019),出生日期,"years")
(其中当前时间可以通过日期创建下的DATE.MDY()函数得到),这样就完成了函数设置。然后目标变量
栏内输入年龄
,然后单击类型与标签
按钮,弹出计算变量:类型与标签
对话框,设置类型为数字
,单击确认。
注:DATEDIFF()
函数:DATEDIFF(datetime1,datetime2,”unit”)用于计算两个日期之间的差额,根据unit设置返回相应的结果,years、quarters、months、weeks、days、hours、minutes、seconds。
注:DATEDIFF()
函数:DATEDIFF(month,day,year)返回对应的日期值.
- 此时数据中就新增了一个
年龄
变量,并将其保存为data_new.sav
文件。