变量赋值(Compute)
计算新变量 or 给老变量赋值
检查
函数组
Compute复杂用法
1、计算新变量 OR 给老变量赋值
例如:样本CCSS.Sample.sav. 其变量信息如下图。
目的:将年龄变量S3重新赋值,
18-34岁(青年)—>1
35-54岁(中年)—>2
55-65岁(老年)—>3
并存为新变量TS3.
Step1: Transform–计算变量–目标变量:TS3=1–确认
此时,样本中会出现一个新的变量TS3,且数值为1.(其数值类型、小数点位数、长度均可调整)
Step2 Transform–计算变量–目标变量:TS3=2 ;如果,在个案满足条件时包括:s3 >= 35 & s3 <= 54 —确定。
Step3 Transform–计算变量–目标变量:TS3=3 ;如果,在个案满足条件时包括:s3 >= 55 —确定。
注意 :若按照此操作,缺失值会被赋值为1
2、检查
应用简单的交叉表可以检查是否有出错
Steps:
分析–描述统计–交叉表–行:S3,列:TS3.–确定
得到输出结果,会一目了然。
3、函数组用法
有“函数组”工作间,常用的函数可以在此选择
例如:计算 年龄S3的算数平方根,并存为新变量:SQS3.
Steps:
Transform–计算变量–目标变量:SQS3;数学表达式:“函数组”选中算术,Sqrt;点击上移箭头;选中原始变量“S3”,点击右移箭头----如果,包括所有个案–确定。
注意 “如果”选项:1.包括所有个案;2. 满足条件的个案
///以上都是生产了新变量,如果需要给老变量赋值,只需要在‘目标变量’处输入老变量名。///

4、Compute的复杂用法
(1)含有条件组合的赋值方式
&: and
|: or
(): 包含
~=:不等于
例如:标示出未婚男性的案例
Steps: Transform–计算变量–设置新变量MaleNowed=01;如果,个案满足条件:S2=1 &S7=2。
(2)字符串变量的操作声明字符串
只需要在“类型与标签”选项,选择类型为“字符串”,可设置字符串长度。
!!数字表达式的赋值必须为字符串类型,即,用引号。
注: 如果用代码:
STRING String(A8).
COMPUTE String=“hello”.
EXECUTE.合并字符串
【可在函数组中找到函数】
concat(string(var1, F1), string(var2, F2)).
注: 需要将数值型变量:var1,var2,用函数string()转换为字符型,再用concat()合并。
F1,F2: float 1个字符。
(3)缺失值处理
if missing(varA) varB=1.
函数missing()是逻辑运算符。例如:将变量MaleNowed的缺失值填充为0(这里可以根据实际情况填补缺失值,比如:平均值、众数、中位数、时间序列等)
***Steps:***: Transform–compute–目标变量:MaleNowed=0;如果,MISSING(MaleNowed)。
(4)几种特殊的赋值符赋值为系统缺失值:¥sysmis
赋值为流水账号(第i条记录):¥casenum