文档详情

[信息与通信]第二章week2SAS语言基础知识唐黎

人***
实名认证
店铺
PPT
658KB
约39页
文档ID:590833303
[信息与通信]第二章week2SAS语言基础知识唐黎_第1页
1/39

[ [信息与通信信息与通信] ]第二章第二章week2SASweek2SAS语言基础知识唐语言基础知识唐黎黎 SAS系统对数据的管理系统对数据的管理 ¨SAS数据集 (数据文件) ¨SAS数据库(存数据集)¨文件夹(与数据库相对应)2 SAS数据集数据集¨数据集数据集(Dataset)–SAS数据集是SAS可以管理的结构化的数据,只有 SAS数据集中的数据才能被SAS过程步处理– 数据集包含两部分内容: 1. 描述部分: (数据结构)数据名称、类型、长度、格式等2. 数据部分: (数据) 包含实际数据值SAS数据值被安排在一个矩阵式的表状结构中数据值被安排在一个矩阵式的表状结构中3 4 SAS观测值观测值¨观测值观测值(Observation,,OBS)–描述被观测对象的单一整体(如一个人、一个实验动物等)某些所研究特性的一系列数据值称为一个观测值,或称一个“个案”在SAS数据集中每一行数据是一个观测值,由若干变量组成5 SAS变量变量¨变量变量(Variable)– 变量指定了数据的某一特性在SAS数据集中,每一个观测值是由各个变量的数据值组成在数据集中每一列数据是一个变量。

6 SAS变量¨变量的命名变量的命名–变量名最多8个字符长,一般由字母、数字、下划线组成第一个字符必须是字母或者下划线,不能有空格特殊字符(如$,@,#,%,&,*等)也不允许在SAS名中使用–合法变量名如:A A1 name _ab_ location …–SAS系统保留的特殊变量名,以下划线开始和结尾如:_N_和_ERROR_,_TYPE_7 SAS变量变量¨变量特性–名称、类型、长度、输入格式、输出格式和标记•两种类型:数值型 字符型(后跟“$”符号)•长度特性:是指存贮的字节数缺省长度是(为了存贮长度与缺省值不同的变量,需使用LENGTH语句)8 SAS变量变量¨定义变量特性的两种方法:– 明确地说明 ——input 语句– 在首次出现时给出定义 ——赋值语句:等号 = 变量赋值的特点:首次定义的长度一直有变量赋值的特点:首次定义的长度一直有效到定义另外一种长度效到定义另外一种长度例: DATA A; C='BAD'; PUT C; C='GOOD'; PUT C; RUN;9 SAS变量变量DATA A; /*将此次DATA步处理的数据存入WORK.A数据集(工作文件)中*/ C=‘BAD';/*首次给变量C赋予3个字符的长度*/ PUT C; /*在日志(LOG)窗口输出变量x的值为3个字符的长度,即BAD*/ C=‘GOOD';/*以后,变量C虽然输入4个字符但只保留原来的长度3*/ PUT C; /*以后,变量C就按照原来的长度3被记忆下来,因此此时的变量C的值被截取为“GOO"*/RUN;10 SAS变量变量¨变量的简化表示–如果要一次定义或指定多个同种类型变量,可以使用缩写变量清单形式: INPUT NAME $ V1 V2 V3 V4 V5 V6; 可以写成: INPUT NAME $ V1-V6; 注意注意: 字符型变量字符型变量NAME不包含在这个缩不包含在这个缩写清单中。

这些变量要求类型相同,或写清单中这些变量要求类型相同,或全是数值型的或全是字符型的全是数值型的或全是字符型的 11 SAS变量变量¨v1 1-2 v2 3-4 v3 5-6 可表示为(v1-v3)(3*2.) 或(v1-v3)(2.2.2.)表示共有三个变量,每个变量有两位数据¨SAS的特殊名称:_numeric_ 所有数字型变量_character_ 所有字符型变量_all_ 所有变量12 SAS变量变量下列变量表示的含义?下列变量表示的含义?X-AX-NUMERIC-AX-CHARACTER-A13 日期数据格式日期数据格式¨ SAS系统日期数据以1960年1月1日为起始日,系统以距离起始日期的总天数记录实际日期例如1962年3月20日被存储为809,表示此日期与1960年1月1日相距809天所以,当变量的值为日期类型或时间类型时,用户必须规定变量的输入和输出格式14 日期数据格式日期数据格式¨SAS软件包对日期变量和时间变量提供了多种的处理方式读入日期值时要说明所使用的日期值格式输出显示时也必须给定一种日期显示格式,否则系统直接输出总天数15 例如例如1997年年12月月20日,可用下列日期格式日,可用下列日期格式表示:表示:¨MMDDYY6. 月日年6位 例: 122097¨MMDDYY8. 月日年8位 例: 12/20/97 或12-20-97 或12201997¨DDMMYY6. 日月年6位 例: 201297¨YYMMDD6. 年月日6位 例: 971220¨DATE7. 日月年7位 例: 20DEC97¨DATE9. 日月年9位 例: 2ODEC1997 ¨MMDDYY10. 月日年10位 例: 12/20/1997 或 12-20-199716 SAS变量变量¨变量的缺失值变量的缺失值–当一个变量由于某种原因没有得到(可能没有观测到,或由于数据错误,或由于计算错误),称该值为缺项值(又称缺失值)。

在SAS中用“.”表示 17 SAS常量¨常量常量 (Constant)SAS常量为其值是固定不变的量SAS常量经常用于赋值、运算等语句中如:y = 10; c = “张”;常量分为以下三类:•数值常量:1.5 -2.79 1.75E-5•字符常量:’Hello’ ‘ABC’ ‘Zhang li’•日期、时间、日期时间常量:后接D,T,DT‘1JAN2000’D‘9:25:19’T‘1JAN2000:10:30:05’DT18 SAS操作符(运算符)操作符(运算符)¨算术运算符***/+-¨比较运算符= > >= < <= ~=¨逻辑运算符& (AND) | (OR) ~(NOT)¨最大值最小值的操作符 MIN或>< MAX或<> 19 算术操作符算术操作符***/+-¨作用:进行数学运算,得到数值结果¨例:y = x ** 2 + b; C = (12 – 4) * 2;20 比较操作符比较操作符= > >= < <= ^=¨作用:比较二值的大小,如成立,结果为 逻辑真值 1;如不成立,结果为 假值 0。

¨例:y = 3 > 2;(结果 y 值为 1) x = ‘ABC’ > ‘ABD’; (结果x值为 0)21 逻辑操作符逻辑操作符& (AND)| (OR)^ (NOT)¨作用:进行逻辑运算,结果仍为逻辑值 真(1),假(0)22 最大最小值操作符最大最小值操作符¨例:z1=(3><4); z2=(3<>4);23 SAS表达式表达式¨用操作符将常量、变量、函数等连接起来进行运算,最终会产生一个值(表达式的值)–运算优先级:算术 > 比较 > 逻辑 X+1 3 LOG(Y) PART/ALL*100 AGE<100 STATE='NC'丨 STATE='SC'24 SAS语句语句SAS语句是由SAS关键词<操作数><选择项>组成,以分号(;)结束¨语句格式:关键词<操作数><选择项>例:例: data one two (keep=x);¨SAS语句的类型 可执行语句(X)例:PUT,IF,BY等 定位语句(P)例:DATA等 说明语句(D)例:LABEL等25 SAS程序的书写格式程序的书写格式¨SAS程序由 语句组成,每个语句用半角分号“ ; ”作为结束符(注:不能使用中文的分号“ ;”)。

¨程序命令中不区分大小写字母(系统对于数据集中的数据字符串区分大小写字母)¨单个名称中不能空格,不同名称间必须至少有一个空格26 SAS程序的书写格式程序的书写格式例:DATA MYfile; inPut age sex;Data myfile;Input age sex;27 SAS程序的书写格式程序的书写格式¨数据行后不加分号,数据行最后单独加一分号¨每个“操作步”由若干条语句构成,一条语句可以占多行,多条语句也可以写在一行内,在语法上只要保证每条语句以半角分号“;”作为结束符即可¨每个SAS过程一般以RUN语句结束有些过程需要使用QUIT语句结束运行28 CARDS; ZHANGLIN 2 47 156.3 47.1 ZHAOHUA 1 38 172.4 61.5 WANGQANG 1 41 169.2 64.5 LIULI 2 52 158.2 53.6 SHIDONG 2 39 160.1 48.0 ;PROC PRINT;RUN;29 SAS语句中的注释语句中的注释¨在编写SAS程序时,有时为了方便阅读程序需要对程序进行注释 格式为:格式为: /*注释内容注释内容*/¨注释语句可以放在SAS语句中任意位置,凡是有空格出现的地方,注释语句都能出现例:例:PROC /*打印过程*/PRINT; PROC PRINT;/*打印过程*/ DATA EXMP;/*建立数据集*/ INPUT X F;/*命名X,F 两个变量*/30 SAS函数函数¨SAS函数的定义: 函数名(自变量,自变量,……)例:例:ABS(Y), INT(W), SUM(X,Y)¨函数是一个功能模块,包括三个要素: 函数名、参数、返回值¨函数的作用:根据参数计算函数值并返回31 SAS函数函数¨例:例:y = SUM ( 1, 2, 3) ;函数名:SUM参数:1, 2, 3返回值:6 (函数运算结果)¨参数格式:1. 用逗号分割:SUM(x1, x2, x3)2. 用简化形式:SUM(OF x1-x3)3. 用列表形式:SUM(OF x1 x2 x3)32 SAS函数函数¨表达式运算顺序:括号,函数,乘除加减例:例:X=40;Y=60;W=2*LOG10(X+Y)W=?33 SAS常用函数常用函数ABS(x) 求x的绝对值。

MOD(x,y) 求x除以y的余数SQRT(x) 求x的平方根LOG(x) 求x的自然对数LOG10(x) 求x的常用对数其他34 程序中的操作指令程序中的操作指令35 循环控制语句循环控制语句36 课堂练习课堂练习1.什么是观测值(什么是观测值(OBS)?)?2.什么是变量(什么是变量(Variable))?3.下面的变量名哪些有效?哪些无效?下面的变量名哪些有效?哪些无效?Sex, age, v1, location, _ab_, 1age, 1v, location1, @1, #1, %1, &24.变量有哪些类型?5.给程序a.1 改错37 程序程序a.1::DATA sj5;INPUT a b c @@ ; IF 4= < a < 15 THEN GOTO OK; a=3; COUNT+1; RETURN; /*RETURN(返回)到DATA步执行它下面的语句*/ OK:SUMa+a;CARDS;3 6 9 10 22 15 12 10 14;PROC PRINT;RUN;38 结束!结束! 。

下载提示
相似文档
正为您匹配相似的精品文档