版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲、变量及其操作处理一、变量数据分析之前,都要对变量名和格式加以定义,同时,用户还可以对变量加上变量、值、定义缺失值等。1、变量名(Variable Names)变量名的一些规定:(1)(2)(3)变量名首字符不能是, #, 或 $. 。变量名中间不能有空格变量名不能是标点符合(句点.除外,如 inc.month 就是有效的变量名)下划线“ ”可以出现变量名的中间,但不能在末尾。(4)(5)下列ALL NE为SPSS所保留,不能作为变量名。ANDBYEQGEGTLELTNOTORTOWITH(6)(7)除上述规定外,变量名可以由其他任意符号或字符组合。变量名中间可以有:$, #, and
2、类似的符hao。如,也是一个有效的变量名。变量名可长达64个字节(SPSS12.0以后的版本)。(8)可创建新变量的SPSS命令有:DATA LIST KEYED DATA LIST MATRIX DATA NUMERICSTRING VECTOR COMPUTE RECODE COUNT此外,一些过程命令也可以产生新变量,如回归等等。值、因子分析中的因子,大小写混合使用的变量名变量名可以大小写混合使用,但只对 SPSS 数据中变量的显示或结果输出起作用,SPSS 命令则无视这种区别。如:COMPUTE SpssVars=1.等价于COMPUTE spssvar=1.也等价于 COMPUTE
3、SPSSVAR=1.这表明SPSSVAR、spssvar、SpssVar,在系统执行命令时,将其当作是相同的变量名,因此,不能在一个数据文件中同时定义。这也说明,命令文件中,变量名的书写,可不必注小写的不同。长变量名(Long Variable Names)SPSS 支持长变量名(可达 64 个字节)。但要注意,spss 输出其他格式的数据时,只输出变量名的前 8 个字符。2、指涉变量名的TO,可以指示数据文件中位置上前后相连的一组变量。TO* 指示已经存在的变量时,变量位置不间隔地相连。例:NEW FILE.GET FILE=subgss01.sav. FREQUENCIESVARIABLE
4、S=province TO edu.* 用 TO例:一组新变量时,变量名前缀要相同,后缀是数字。Numeric class1 to class5 (f2.0).String name01 to name05 (A8).ALLALL 指称WORKING DATA FILE 中的所有变量。例:FREQUENCIES /VARIABLES = ALL.3、系统变量(System Variables)与临时变量(Scratch Variables)系统变量和临时变量都是特殊变量形式。系统变量:系统变量以 $ 为变量名首字符。它定义了系统特殊的信息,为系统所保留,或用于系统环境设置。$CASENUM$S
5、YSMIS$JDATE$DATE$DATE11$TIME$LENGTH$WIDTH性的样本序列变量,不随样本排序等影响。系统缺失值变量。从(格利高日历第1天)到系统当前日期的天数。系统当前日期,年为两位数. dd-mmm-yy系统当前日期,年为四位数. dd-mmm-yy.从午夜零时到用户执行命令时秒数。F20.输出窗口每页页面的长度。F11.0.输出窗口每页页面宽度。F3.0.系统变量不显示在 Working Data File 中,不能为过程命令调用,但可转换出来供用户使用。举例:compute casenum=$casenum.If (inc.month0) inc.month=$sys
6、mis.临时变量临时变量以 # 为变量名首字符。临时变量只在内存数据中,不显示在 Working Data File 中。临时变量既可以是字符变量,也可以是数值型变量。临时变量可以作为中介变量,在LOOP循环中应用非常有用。TEMPORARY. 命令出现后,所有临时变量都丢失了。临时变量不能定义缺失值、变量和值。TO所指变量,不能同时有用户定义的变量和临时变量。临时变量不能用于命令。临时变量不能参与统计过程命令的分析,也不能性地保存在数据文件中。Compute work=#work.4、数据输入、输出格式(从略)二、创建空的新变量NUMERICSTRING VECTOR以 NUMERIC、ST
7、RING、VECTOR 建立的变量,都是初始值为系统缺失值的变量。1、NUMERIC 命令建立一个或多个数值型变量,其命令形式如下:NUMERIC varlist(format) /varlist.Exle:NUMERIC V1 V2 (F4.0) / V3 (F1.0).NUMERIC V1 TO V6 (F3.0).2、STRING 命令建立一个或多个字符型变量,其命令形式如下:STRING varlist (An) /varlist.ExSTRING RECODEle:S SE1 (A2).E (IO=IA) (ELSE=COPY)O SE1. /* 这是一条重编码命令 */STRING
8、SE1 to SE9 (A5).3、VECTORVECTOR 有长型和短型两种形式,这里介绍短型的 VECTOR(short form)。VECTOR 主要服务于LOOP 循环程序,但创建的变量,也可以用其他方式对它加以应用。VECTOR的变量也是空变量,默认格式是 F8.2,但用户也可以自己定义变量格式。几种应用类型举例:VECTOR #WORK(10).该程序创建了一个变量列阵“#WORK”代表10个临时变量: #WORK1,#WORK2,#WORK10.VECTOR X,Y(5).该程序创建了两个变量列阵,X 和 Y, 分别代表 X1 X2 X5,Y1 Y2 Y5.VECTOR X(6,
9、A5).该程序创建了字符型变量列阵X,包含有变量X1 X2 X6,格式为A5VECTOR X,Y(A5,6) Z(3,F2).该程序创建了3套变量列阵,两套变量X(X1 to X6)和Y(Y1 to Y6)的格式为A5,另一套变量Z(Z1 to Z3)为数值型变量,格式为F2。三、COMPUTE 命令1、基本命令形式COMPUTE_var=expre_var:目标变量,变量名由用户按变量名规则来定义。expres:一个表达式,确定目标变量的取值。各分析样本的目标变量取值的确定:a.表达式(expres)可以是一常数。例:compute A15.b.它通过算术表达式、函数或逻辑表达式来表明目标变
10、量与其他变量之间的某种关系,由此确定目标变量的值。2、算术表达式+*/Addition.Subtraction. Multiplication.Divi.*Exponentiation.举例:COMPUTE AGE=2003-BORNYR. COMPUTE AGESQ=AGE*2.3、函数表达式数学函数绝对值函数. ABS(SCALE) is 4.7 when SCALE equals 4.7 or -4.7.四舍五入函数. RND(SCALE) is 5 when SCALE equals 4.7.取整函数. TRUNC(SCALE) is 4 when SCALE equals 4.7.余
11、数函数. When YEAR equals 1983, MOD(YEAR,100) is 83.平方根. SQRT(SIBS) is 1.41 when SIBS equals 2.e 的指数幂. . EXP(VARA) is 7.39 when VARA equals 2.以10为底的对数 LG10(VARB) is 0.48 when VARB equals 3.自然对数(base e). LN(VARC) is 2.30 when VARC equals 10.反正弦函数反正切函数. ARTAN(ANG2) is 0.79 when ANG2 equals 1.正弦 . SIN(VARD
12、) is 0.84 when VARD equals 1.余弦 The argument must be specified in radians. COS(VARE) is 0.54 when VARE equals 1.ABS(arg) RND(arg) TRUNC(arg) MOD(arg,arg) SQRT(arg) EXP(arg) LG10(arg) LN(arg) ARSIN(arg) ARTAN(arg) SIN(arg)COS(arg)统计函数SUM(arg list)求和 Sum of the nonmissing values across the argument li
13、st.COMPUTE A16=SUM(A1 A2 A3 A4 A5 A6).均值 Mean of the nonmissing values across the argument list.标准差 Standard deviation of the nonmissing values across the argument list.方差 Variance of the nonmissing values across the argument list.变异系数 Coefficient of variation of the nonmissing values across the arg
14、ument list.The coefficient of variation is the standard deviation divided by the mean.最小值Minimum nonmissing value across the argument list.MEAN(arg list) SD(arg list) VARIANCE(arg list)CFVAR(arg list)MIN(arg list)MAX(arg list)um nonmissing value across the argument list.最大值逻辑函数RANGE(varname,range) T
15、rue if value of variable is in range.True if value ofargument is included on argument list.ANY(arg,arg list)COMPUTE HIEDU=RANGE(EDU,6,10).COMPUTE HIEDU=ANY(EDU,6,10).字符串函数ANY(arg,arg list) CONCAT(arg list)举例:string strnew (A9).Return 1 if value of argument is included on argument list.Johe arguments
16、o a string.COMPUTE strnew=concat(oldstr1,oldstr2,oldstr3)./* 如果变量oldstr1,oldstr2,oldstr3的格式分别是A2、A3、A4,某个case在oldstr1,oldstr2,oldstr3等三个变量上的取值分别为Kw、kww、kwww,那么,新变量strnew的值就是“Kwkwwkwww”INDEX(a1,a2,a3)Return number indicatingition ofoccurrence of a2 in a1; optionally, a2 in a3evenly divided substrings
17、 of a1.Return value of argument n cases before. Return length of argument.Convert upper case to lower case.Convert lower case to upper case.LAG(arg,n)LENGrg)LOWER(arg list) UPCASE(arg list) LPAD(a1,a2,a3) LTRIM(a1,a2)MAX(arg list) MIN(arg list) NUMBER(arg,format) RANGE(arg,arg list)RINDEX(a1,a2,a3)L
18、eft-pad beginning of a1 to leng2 with character a3.Trim character a2 from beginning of a1.Returnum value of argument list.Return minimum value of argument list. Convert argumento number using format.Return 1 if value of argument is in inclusive range of argument list.Return number indicating rightmo
19、st occurrence of a2 in a1; optionally, a2 in a3evenly divided substrings of a1.Right-pad end of a1 to leng2 with character a3.RPAD(a1,a2,a3) RTRIM(a1,a2)STRING(arg,format) SUBSTR(a1,a2,a3)MBLEN.BYTE(arg,a1)Trim character a2 from end of a1.Convert argumento string using format.Return substring of a1
20、beginning withition a2 for leng3.ition a1Return the number of bytes for the character beginning atargument. If a1 is not specified, it defaults to 1.he string举例:COMPUTE NEWVAR=RND(V1/V2)*100). STRING DEPT(A20).COMPUTE DEPT=NEL DEPARTMENT.其他的函数形式4、逻辑表达式与 IF 语句IF (logical expres)variable=expres逻辑表达式的操
21、作符号:Symbol EQ or = LT or DefinitionEqual toSymbol NE or * LE or =DefinitionNot equal toLessGreaternLessGreatern or equal ton or equal ton逻辑“与”“或”表达符SymbolAND or & Or or |DefinitionBoth relations must be true Either relation can be trueExleIF (AGE比较: COMPUTEIF (AGE 20 AND SEX = 1) GROUP=2.GROUP=0. 20
22、 AND SEX = 1) GROUP=2.用 IF 语句产生新变量,如果逻辑表达式的结果false,该变量的值为系统缺失值。5、结合逻辑表达式,用 compute 命令建立虚拟变量COMPUTE male=(gender=1).COMPUTE HIEDU=(RANGE(EDU,6,10).四、RECODE 命令(变量数据重编码)1、数值型变量的重编码一般格式:RECODE varlist (value list=value).(value list=value) /varlist.O varlistrecode: 针对原值的针对变换值的v1 (1=1) (2 thru hi=2) (sysm
23、is=sysmis) (else=sysmis).:LO, LOWEST, HI, HIGHEST, THRU, MISSING, SYSMIS, ELSE:COPY, SYSMIS举例:RECODE MARRIAGE等价用法:RECODE MARRIAGE(3 THRU 6=3) (-2=SYSMIS) (ELSE=COPY)O MARRSTA.(3,4,5,6=3) (-2=SYSMIS) (ELSE=COPY)O MARRSTA.VALUE LABEL MARRSTA 1 未婚2 已婚(第一次)3 离婚丧偶或再婚.COMPUTE #INC.YRm=INC.YEAR/12.RECODE I
24、NC.MONTH #INC.YRm(LOWEST THRU -1=SYSMIS) (0 THRU 200=1)(201 THRU 500=2)(501 THRU 1000=3)(1001 THRU 2000 = 4)(2001 THRU HI=5)O CATINC.MON CATINC.YRm.2、字符型变量的重编码RECODE varlist (string,string.=string)/varlist.O varlist针对原值的针对变换值的:CONVERT, ELSE:COPY举例:string mar.str(a20).mar.str=未婚. mar.str=已婚(第一次If IfI
25、f(marrsta=1) (marrsta=2)(marrsta=3).mar.str=离婚丧偶或再婚.RECODEmar.str(未婚=未结婚)(已婚(第一次)=已婚)(离婚丧偶或再婚=已婚)(ELSE=缺失).CONVERT 的用法:gender.s (A2)./* 字符型变量在进行 transformation之前,一定要先定义 .关于StringRecode gender (1=1) (2=2)ogender.s./* 给变量赋值 .If (mar.str=缺失) gender.s=&./* 有条件地字符串重编码 .Recode gender.s (CONVERT) (&=-9)O g
26、ender.n./*CONVERT 将字符型变量转换为数值型变量,同时将作为字符串的数字转换为新变量(数值型)的值,但 CONVERT 必须与O 连用 */五、COUNT 命令(计数)COUNT varname=varlist(value list) /varname=.:LOWEST, LO, HIGHEST, HI, THRU, MISSING, SYSMIS举例:COUNT VALUE2=V1/VALUE3=V1/VALUE4=V1V2 V2TOV3 V3V3(2)(3)(4 THRU HI)/Vsysmis=V1 V2 V3 (SYSMIS).COUNT VALUE23 = V1 V2
27、 (2) V3 V4 V5 (3)./* 变量VALUE23的取值范围在05之间,因为是对5个变量计数。*/COUNT NUMOFM=STR1 STR2 (M).六、变量和值VARIABLE LABELS varname label/varname.VALUE LABELS varlist value label value label. /varlist./datevarlist value label.Variable labels v1 .(变量一次只能处理一个变量)Value labels v11212.Value labels V1 V2 V31212.(值一次可以处理一个或多个变量
28、)对字符型变量加值:Recode gender (1=M) (2=F)o gender.s. VALUE LABELS gender.s M MALE F FEMALE./* 给变量赋值 */一行写不下怎么办?用+号VALUE LABELS OFFICE88 1 EMPLOYEES OFFICE ASSIGNMENT PRIOR+ TO 1988.七、变量重命名RENAME VARIABLES (varname=varname) (varname .)(varnames=varnames) ExleRENAME VARIABLES (JOBCAT=TITLE) (oldvar=newvar)
29、(cat1 cat2=act1 act2).作为 GET、SAVE 的子命令时,可省略VARIABLES只用 RENAME 即可。参见上节课的例子。八、缺失值的处理1、定义用户缺失值:missing value inc.mont (-3 thru -1).Missing value inc.mont (-3, -2, -1).Missing value inc.mont (-3 thru -1, 22000).Recode inc.mont (1000 thru 2000=-99) (else=copy)o inc.mo3./* 加上此语句的意义在于将原始变量保存好.Missing value inc.mo3 (-99,-3 thru 1).2、取消缺失值的用户定义:missing value inc.mont () .3、缺失值函数MISSING(varname) SYSMIS(varname) NMISS(arg list)NVALID(arg list)用户缺失值逻辑函数:True if missing.系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心衰护理课件教学课件
- 淮阴工学院《通信原理1》2022-2023学年第一学期期末试卷
- DB5116T17-2024电梯维护保养质量要求与抽查规则
- DB 3705-T 16-2024《管花肉苁蓉培育技术规程》
- 企业管理-《固定资产移交报告》
- 海水养殖的环境影响评估方法考核试卷
- 合成材料制造的工艺装备更新考核试卷
- 外卖行业的季节性波动分析考核试卷
- 煤炭行业的国际市场拓展与合作考核试卷
- 城市轨道交通的科技创新与产业发展考核试卷
- 湖北机场集团限公司2024年春季校园招聘【35人】(高频重点提升专题训练)共500题附带答案详解
- 河南省附属绿地绿化规划设计规范
- 微测网题库完整版行测
- 2023年中级会计实务试题及答案大全
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- 代运营合作服务协议
- 有限空间作业应急管理制度
- 慢性肾衰竭-课件
- 罗兰贝格-正泰集团品牌战略项目-品牌战略设计与高阶落地建议报告-20180627a
- 2024砍伐树木合同书
- 2024年02月重庆市沙坪坝区事业单位2024年第一季度公开招聘167名工作人员0笔试历年典型考题及考点研判与答案解析
评论
0/150
提交评论