spss的基础知识

一、基础语法认知

1.题标签【批量添加】

VARIABLE LABELS
     A1		'第一次体检时间'	
     A4		'第一次体检身高'	
     A56		'第一次体检腰围'	
     A9		'第一次体检体重'	
     A1011		'第一次体检臀围'	
     A12		'第一次体检体脂率'	
     B1		'第二次体检时间'	
     B4		'第二次体检身高'	
     B56		'第二次体检腰围'	
     B9		'第二次体检体重'	
     B1011		'第二次体检臀围'	
     B12		'第二次体检体脂率'	.
EXECUTE.

2.值标签

VALUE LABELS A2
	3 '11月23日'
	4 '11月24日' 
	5 '11月25日'.  
EXECUTE.

3.修改变量的类型

字符串类型【宽度200】
ALTER TYPE  
	G2011_text
	G2012_text
	G2013_text
	G2014_text
	G2015_text(A200).
EXECUTE.
数值类型【宽度30,小数位数1】
FORMATS  id006(F30.1).
EXECUTE.

4.生成新变量【默认新变量的类型是数值型】

定义字符串变量【宽度100】
STRING aa(A100).
EXECUTE.
定义日期变量【宽度8】
*id005、id006 为时间变量.
FORMATS  id005(TIME8.0).
FORMATS  id006(TIME8.0).
EXECUTE.

5.修改变量名

RENAME VARIABLES
(Q5=Q51).
EXECUTE.

二、变量运算

1.计数

单选计数【缺失值计数】

COUNT w12=a(MISSING). 
VARIABLE LABELS  w12 '计数'. 
EXECUTE.

多选计数

0-1格式
COUNT NG4=G401_1 G401_2 G401_3 G401_4 G401_5 G401_6 G401_7 G401_8(1).
VARIABLE LABELS  NG4 'G4计数'.
EXECUTE.
数值格式
COUNT NK9=K9_1 K9_2 K9_3 K9_4 K9_5 K9_6 K9_7 K9_8 K9_99999(1 thru 99).
VARIABLE LABELS  NK9 'K9计数'.
EXECUTE.

2.新变量和计算

SUM&COMPUTE

* 值之间的加和减,最好选用sum函数进行计算. *需要考虑到系统存在缺失值不被改变.
* COMPUTE 函数后写公式式.
COMPUTE NQ29=sum(NQ28,-NQ27).  *求和.
COMPUTE NQ29=mean(Q28,Q27).  *求均值.
EXECUTE.

*小技巧

当要求计算的变量很多且变量是连续的时候,可以采用简化的语法编写。
如A2_1 to A2_17 A2_95 A2_99
compute a=sum(A2_1 to A2_99).
execute.
要注意的是,当A2_95与A2_99调换位置时,A2_95就不会被计算在内。

在这里插入图片描述
在这里插入图片描述

小案例:各年龄端段汇总

COMPUTE G2_text=sum(G2_1_text,G2_2_text,G2_3_text,G2_4_text,G2_5_text,G2_6_text).
VARIABLE LABELS  G2_text '年龄文本'.
EXECUTE.

小案例:开始时、分合并成开始时间

COMPUTE id005=TIME.HMS(id005a,id005b).
COMPUTE id006=TIME.HMS(id006a,id006b).
EXECUTE.

IF【根据已有的变量和设定条件产生新的变量】

应用场景:变量的选项合并、多变量条件产生新变量

IF totalseconds>=35&totalseconds<=60 N=1.
IF totalseconds>=61&totalseconds<=90 N=2.
IF totalseconds>=91&totalseconds<=120 N=3.
EXECUTE.

3.值转换

重新编码成不同变量

应用场景:变量的选项合并、选项分值转换

*保留缺失状态.      
*此处考虑else=copy   .
RECODE Q27 (1=3) (2=2) (3=1) (4=0) (else=copy) INTO NQ27.  
#简化的写法
RECODE A4 (1=1) (ELSE=2) INTO NA4.

重新编码成相同变量

*保留缺失状态.      
*此处考虑else=copy   .
RECODE Q27 (1=3) (2=2) (3=1) (4=0) (else=copy) INTO Q27.  

三、其他可能用到的语法

1.唯一码

*生成唯一码.
COMPUTE pp=$casenum.
VARIABLE LABELS pp '唯一码'.
EXECUTE   .

2.注释

给SPSS语法syntax加上易懂的注释的方法:
1. 以星号*或COMMENT开头,以.结束。中间可加上任意注释,甚至可以断行。
2. 使用 /* 注释内容 */ 标注可将注释内容加入任何位置。

3.其他的小需求

选项降序:

ORDER=D KEY=COUNT EMPTY=INCLUDE TOTAL=YES POSITION=AFTER
转换成
ORDER=D KEY=LABEL EMPTY=INCLUDE TOTAL=YES POSITION=AFTER

根据条件修改变量值

COMPUTE kc=kongchao.
DO IF q181>2.
RECODE kc(1=0).
END IF.

合并

1、文本的合并
string aa(A8). #定义一个宽度为8的字符串变量
compute aa=concat(a1,":",a2).
execute.
在这里插入图片描述
2、 单选题合并(两个选项一致,问题相似的题目)
在这里插入图片描述
要求:
在这里插入图片描述
语法:

IF A2=1&A3=1 A7=1.
IF A2=1|A3=1 A7=2.
IF A2=2&A3=2 A7=3.
EXECUTE.

3、 多选题合并
要求:A1_1 to A1_3 A2_1 to A2_4 合并成新的变量A3。
1)多选题格式:0-1

IF A1_1=1 A3_1=1.
IF A1_2=1 A3_2=1.
IF A1_3=1 A3_3=1.
IF A2_1=1 A3_4=1.
IF A2_2=1 A3_5=1.
IF A2_3=1 A3_6=1.
IF A2_4=1 A3_7=1.
EXECUTE.
注释:A3题0-1转多选,整理一下A3题的标签1-7中1-3是A2题的选项标签,4-7是A3题的选项标签。

2)多选题格式:1-N

IF A1_1=1 A3_1=1.
IF A1_2=2 A3_2=2.
IF A1_3=3 A3_3=3.
IF A2_1=1 A3_4=4.
IF A2_2=2 A3_5=5.
IF A2_3=3 A3_6=6.
IF A2_4=4 A3_7=7.
EXECUTE.
注释:A3题为A1、A2题所有选项按照顺序堆积成的,确定好值与标签间的对应关系。
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值