sas课件第2讲 数据集建立
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
SAS表达式
其它的运算符还有用于连接两个字符串的|| (两个连续的|号),用于取两个运算值中较大 一个的<>(比如3<>5结果为5),用于取两个 运算值中较小一个的>< (比如3><5结果为3)。 比较运算符得到“真”(赋值1)或“假” (赋值0) 的结果,主要用于需要条件的分支、 循环等语句中。 若比较表达式的值为0或缺失值,称为表达 式不成立(“假” );否则表达式成立(“真”). 18
21
SAS语言
SAS函数
22
SAS语言
SAS函数
函数类 Arithmetic Character Date and Time Mathematical Noncentrality Quantile 例 ABS, SQRT, DIM UPCASE, SUBSTR, TRIM TODAY, DAY, MONTH, MDY LOG, EXP, GAMMA CNONCT, FNONCT, TNONCT PROBIT, CINV, TINV, FINV PROBNORM, PROBT, POISSON, Probability and Density PDF,PDM Random Number RANUNI, RANNOR, RANEXP Sample Statistic SUM, MEAN, STD, VAR, RANGE Special PUT, INPUT, DIF, LAG Trigonometric SIN, TAN, ARCOS Truncation INT, CEIL, ROUND Others ZIPSTATE
SAS表达式 数据步程序中的计算由表达式来完成。表 达式把运算对象(常数,变量,函数调用等) 用一系列算符(如特殊的运算符、括号等)连 接起来,被执行后得到一个目标值. 表达式分为简单表达式(仅用一个算符)和 复合的表达式(使用多个算符). 在数据步为了对变量作变换,建立新变量、 条件处理、计算新数值及指定新数值时使用表 达式来编写程序语句. 13
分布函数值 = CDF(‘分布’, x <, 参数表>); 密度值 = PDF(‘分布’, x <, 参数表>); 概率值 = PMF(‘分布’, x <, 参数表>); 对数密度值 = LOGPDF(‘分布’, x <, 参数表>); 对数概率值 = LOGPMF(‘分布’, x <, 参数表>);
第2讲 数据集建立
1. SAS语言 2. 数据步入门
3. 创建SAS数据集
1
SAS语言
在Windows环境下Insight Analyst菜单系 统可让用户不必编写程序而方便地使用SAS系 统的数据管理和一些统计分析功能. 但目前并不是所有的统计方法 都可以通过 菜单系统来实现,一些统计方法以及一些特殊
或较深入的分析功能必须用编程实现.编程是
功能最强的使用SAS系统进行统计分析的方法.
2
SAS语言
SAS语言也是一种计算机语言,常称为 非过程语言或第四代语言. 过程语言一般是指 : BASIC语言, C语 言,Fortran 语言 等需要给出计算过程的 语言. 第一代至第四代语言是指:机器语言,汇 编语言,高级语言(如Fortran 语言等),非过 程语言.
SAS语言
SAS语言是一种专用的数据处理、统计计算 语言,但是它也包含一般的高级语言编程能力 并扩充了许多数学、统计等方面的函数。 下面先介绍一些SAS函数,然后结合SAS要 完成的操作来介绍SAS语言,如用来进行一般 编程计算的功能及其独特的数据处理功能。 SAS数据步的数据输入、整理功能很强,以 下只能介绍常用的功能。希望进行复杂的数据 管理的读者可以参考Base SAS的使用手册。 19
符必须是字母(A,B,…,Z)或下划线( _ ),后面的字符
可以是字母,数字(0,1,2,…,9)或下划线.
每个SAS语句都用分号(;)结束,出现在SAS语句中 的其他特殊字符和算符有圆括号( ),美元符号($),
小数点号(.),等号(=),冒号(: )和加号(+).
5
SAS语句 SAS语句书写的格式较为灵活:
25
分布函数和分布密度函数
• CDF计算由分布指定的某种分布的分布函数,
• PDF计算分布密度函数值,PMF计算离散分布的分布概
率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对
数.函数在自变量x处计算,<,参数表>表示可选的参数
表。 • 分布类型取值可以为:BERNOULLI,BETA, BINOMIAL, CAUCHY,CHISQUARED, EXPONENTIAL, F, GAMMA, GEOMETRIC,HYPERGEOMETRIC,LAPLACE,LOGISTIC,LOGNO
个,SAS系统8.1版本,SAS函数分为二十二种类
型共有319个函数).
20
SAS函数 SAS函数比一般高级语言的标准函数多得多. 如此丰富的SAS函数,对用户编写SAS程序带来 极大的方便.尤其是概率函数、分位数函数、 非中心函数、样本统计函数 、随机数函数,这 几类函数是一般高级计算机语言所没有的,它 们为统计分析计算提供更大的方便. 下面我们分类介绍一些SAS函数,主要介绍 用于统计计算的SAS函数.
语句可以在某一行的任何位置开始和结束; 词间可任意加入空格和换行; 一个语句可以写成几行,只要语句中的单词不被 断开就可以; 多个语句可写在一行; SAS语句用大写字母、小写字母或两者混合书写均 可以.但字符型数据值要区分大小写,比如"Beijing" 和"BEIJING"被认为是不同的数据值.
良好的书写格式便于程序的阅读.
果在INPUT语句中输入字符型变量时指定了长度则不
受此限制。 可以用LENGTH语句直接指定变量长度。 如 LENGTH name 15$ 20 ;
SAS表达式
SAS运算符包括算术、比较、逻辑等运算符。 算术运算符为 +,-,*,/,**,运算优先级按通常 的优先规则。 比较运算符用于比较常量、变量的值大小、相等, 包括 = ^= > < >= <= IN EQ NE GT LT GE LE 运算符IN是一个SAS特有的比较运算符,用来检查某 个变量的取值是否在一个给定列表中,比如 prov in („北京’, ‘上海’, ‘天津’, ‘重庆') 可以判断变量prov的取值是否为四个直辖市之一。
SAS程序的输出 若干数据步和几个过程步构成一个SAS程 序.SAS程序一般在PGM窗口采用全屏幕编辑方 式输入.当程序输入完毕,检查修改后就可以 提交给SAS系统执行. 在程序执行的过程中,日志(LOG)窗口显 示程序执行中记录的信息;它包括执行哪个语 句;生成的数据集中变量个数及观测个数是多 少;每一步花费的时间及出错信息等等. SAS过程产生的输出显示在输出(OUTPUT) 12 窗口.
3
SAS语言
SAS语言也有它自己的语汇和句法--关键 词和连结关键词与 其他辅助信息的规则. 用户使用SAS语言来生成数据集并规定对 数据怎样做统计分析的问题 . 由SAS语句组成的序列称为SAS程序. 一个SAS语句是由SAS关键词、SAS名字、 特殊字符和运算符组成的字符串,并以分号 (;)结尾,它要求SAS系统执行一种操作或 给SAS系统提供信息. 4
16
SAS语言
SAS表达式
逻辑运算符用来连接比较得到的结果以构成复杂 的条件,有三种逻辑运算符: &(AND) |(OR) ^(NOT) 其中AND是&(与)的等价写法,OR是|(或)的等价 写法,NOT是^(非)的等价写法。例如 (salary >= 1000) AND (salary < 2000) 表示工资收入在1000-2000之间(不含2000); (age <= 3) OR (sex = „女’) 表示三岁以下(含三岁)的婴儿或妇女; NOT ((salary >= 1000) AND (salary < 2000)) 表示工资收入不在1000-2000之间。
6
SAS程序
SAS程序中的语句分别属于两类步骤:DATA步 和PROC步.这两类步骤是所有SAS程序的组成部分. 每一步是一段相对完整的可以单独运行的程序。 通常用DATA步产生SAS数据集,而用PROC步对 SAS数据集中的数据进行分析处理并输出结果. 一个SAS程序可由一个DATA步或一个PROC步组 成;或者由DATA步和PROC步两部分组成;也可由 多个DATA步和PROC步组成.
在数据步中使用的SAS语句包括:
⑪ 文件操作语句--要求SAS创建一个或几个 新的SAS数据集的语句,如DATA、INPUT、CARDS、 INFILE、SET、MERGE等语句; ⑫ 运行语句--对创建数据集所必须进行的 运算语句,如赋值、累加、Where等语句;
9
数据步(DATA步)
⑬ 控制语句—实现从程序的一部分转移到
SAS表达式
SAS常量主要有数值型、字符型两种,并且还提供 了用于表达日期、时间的数据类型。例如 数值型:12,-7.5,2.5E-10 字符型:'Beijing',"Li Ming","李明"
日期型:'13JUL1998'd
时间型:'14:20't 日期时间型:’13JUL1998:14:20:32‟dt 因为SAS是一种数据处理语言,而实际数据中经常 会遇到缺失值,比如没有观测到数值,被访问人不肯
另一部分的语句,如DO循环、IF、GO TO、
SELECT、LINK等语句;
⑭ 信息语句—给出关于数据集或正被生成
的数据集的附加信息,如ARRAY、Baidu NhomakorabeaNFORMAT、
FORMAT、LENGHT、ATTRIB、KEEP、DROP等语句.
10
过程步以PROC语句开始,用于分析处理 SAS数据集中的数据。 PROC步要求SAS从过程库中调出一个过程并 执行这个过程,通常用SAS数据集作为输入数 据.PROC步一定以PROC语句开始,在PROC步里 的其他语句给出用户想得到有关结果的更多信 息的程序语句. 可以用在PROC步的语句依赖于你调用的这 个特殊的过程.在以后每个过程的描述中我们 都将给出可以和该过程的PROC语句一起使用的 11 一些语句.
许多SAS语句都是以关键词开始并用它识别语句的
类型.如DATA语句、PROC语句、INPUT语句等.
SAS语句中可能出现的SAS名字种类很多,如变量名、
SAS数据集名、格式名、过程名、数组名、语句标号 名、以及作为文件标记和库标记的特殊名字.
SAS名字最多可由32(V6为8)个字符组成,第一个字
23
SAS语言
SAS函数
• 测试函数功能的一个简单的程序: data _null_; y=sqrt(3); put y= ; run; 程序提交后将在LOG窗口给出SQRT(3)的 结果为Y=1.7320508076 3 。
24
分布函数和分布密度函数
SAS语言
• SAS语言作为一种统计计算语言,它提供了 多种概率分布的有关函数。其中分布密度、 概率、累积分布函数等可以通过几种统一的 格式调用,格式为
7
SAS语言
SAS编程基本概念
• 用户提交的 SAS 程序由许多程序步构 成。
原始 数据
数据步常用于创建数据集
数据步 DATA步 SAS表 过程步 PROC步 报告
SAS表
过程步常用于处理数据集(生成 报表、图形和实现数据分析功能)
8
数据步(DATA步) 数据步以DATA语句开始, RUN语句结尾,用 于创建和加工SAS数据集.
回答等等。SAS中用一个单独的小数点( .)来表示
缺失值常量。
14
SAS表达式
SAS变量的基本类型有两种:数值型和字符型。日
期、时间等变量存为数值型。
SAS的数值型变量可以存储任意整数、定点实数、 浮点实数,一般不关心其区别。数值型变量在数据集 中的存贮一般使用8个字节。 SAS的字符型变量缺省的长度是8个字符,但是如
在SAS系统9.1版本,SAS函数分为二十五种类 型,它们是算术函数、截取函数、数学函数、 概率和密度函数、分位数函数、非中心函数、 样本统计函数、随机数函数、财政金融函数、 字符函数、日期和时间函数、洲和Zip码(邮政 编码)换算函数和特殊函数等等(在SAS系统
6.12版本,SAS函数分为十七种类型共有178
SAS表达式
其它的运算符还有用于连接两个字符串的|| (两个连续的|号),用于取两个运算值中较大 一个的<>(比如3<>5结果为5),用于取两个 运算值中较小一个的>< (比如3><5结果为3)。 比较运算符得到“真”(赋值1)或“假” (赋值0) 的结果,主要用于需要条件的分支、 循环等语句中。 若比较表达式的值为0或缺失值,称为表达 式不成立(“假” );否则表达式成立(“真”). 18
21
SAS语言
SAS函数
22
SAS语言
SAS函数
函数类 Arithmetic Character Date and Time Mathematical Noncentrality Quantile 例 ABS, SQRT, DIM UPCASE, SUBSTR, TRIM TODAY, DAY, MONTH, MDY LOG, EXP, GAMMA CNONCT, FNONCT, TNONCT PROBIT, CINV, TINV, FINV PROBNORM, PROBT, POISSON, Probability and Density PDF,PDM Random Number RANUNI, RANNOR, RANEXP Sample Statistic SUM, MEAN, STD, VAR, RANGE Special PUT, INPUT, DIF, LAG Trigonometric SIN, TAN, ARCOS Truncation INT, CEIL, ROUND Others ZIPSTATE
SAS表达式 数据步程序中的计算由表达式来完成。表 达式把运算对象(常数,变量,函数调用等) 用一系列算符(如特殊的运算符、括号等)连 接起来,被执行后得到一个目标值. 表达式分为简单表达式(仅用一个算符)和 复合的表达式(使用多个算符). 在数据步为了对变量作变换,建立新变量、 条件处理、计算新数值及指定新数值时使用表 达式来编写程序语句. 13
分布函数值 = CDF(‘分布’, x <, 参数表>); 密度值 = PDF(‘分布’, x <, 参数表>); 概率值 = PMF(‘分布’, x <, 参数表>); 对数密度值 = LOGPDF(‘分布’, x <, 参数表>); 对数概率值 = LOGPMF(‘分布’, x <, 参数表>);
第2讲 数据集建立
1. SAS语言 2. 数据步入门
3. 创建SAS数据集
1
SAS语言
在Windows环境下Insight Analyst菜单系 统可让用户不必编写程序而方便地使用SAS系 统的数据管理和一些统计分析功能. 但目前并不是所有的统计方法 都可以通过 菜单系统来实现,一些统计方法以及一些特殊
或较深入的分析功能必须用编程实现.编程是
功能最强的使用SAS系统进行统计分析的方法.
2
SAS语言
SAS语言也是一种计算机语言,常称为 非过程语言或第四代语言. 过程语言一般是指 : BASIC语言, C语 言,Fortran 语言 等需要给出计算过程的 语言. 第一代至第四代语言是指:机器语言,汇 编语言,高级语言(如Fortran 语言等),非过 程语言.
SAS语言
SAS语言是一种专用的数据处理、统计计算 语言,但是它也包含一般的高级语言编程能力 并扩充了许多数学、统计等方面的函数。 下面先介绍一些SAS函数,然后结合SAS要 完成的操作来介绍SAS语言,如用来进行一般 编程计算的功能及其独特的数据处理功能。 SAS数据步的数据输入、整理功能很强,以 下只能介绍常用的功能。希望进行复杂的数据 管理的读者可以参考Base SAS的使用手册。 19
符必须是字母(A,B,…,Z)或下划线( _ ),后面的字符
可以是字母,数字(0,1,2,…,9)或下划线.
每个SAS语句都用分号(;)结束,出现在SAS语句中 的其他特殊字符和算符有圆括号( ),美元符号($),
小数点号(.),等号(=),冒号(: )和加号(+).
5
SAS语句 SAS语句书写的格式较为灵活:
25
分布函数和分布密度函数
• CDF计算由分布指定的某种分布的分布函数,
• PDF计算分布密度函数值,PMF计算离散分布的分布概
率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对
数.函数在自变量x处计算,<,参数表>表示可选的参数
表。 • 分布类型取值可以为:BERNOULLI,BETA, BINOMIAL, CAUCHY,CHISQUARED, EXPONENTIAL, F, GAMMA, GEOMETRIC,HYPERGEOMETRIC,LAPLACE,LOGISTIC,LOGNO
个,SAS系统8.1版本,SAS函数分为二十二种类
型共有319个函数).
20
SAS函数 SAS函数比一般高级语言的标准函数多得多. 如此丰富的SAS函数,对用户编写SAS程序带来 极大的方便.尤其是概率函数、分位数函数、 非中心函数、样本统计函数 、随机数函数,这 几类函数是一般高级计算机语言所没有的,它 们为统计分析计算提供更大的方便. 下面我们分类介绍一些SAS函数,主要介绍 用于统计计算的SAS函数.
语句可以在某一行的任何位置开始和结束; 词间可任意加入空格和换行; 一个语句可以写成几行,只要语句中的单词不被 断开就可以; 多个语句可写在一行; SAS语句用大写字母、小写字母或两者混合书写均 可以.但字符型数据值要区分大小写,比如"Beijing" 和"BEIJING"被认为是不同的数据值.
良好的书写格式便于程序的阅读.
果在INPUT语句中输入字符型变量时指定了长度则不
受此限制。 可以用LENGTH语句直接指定变量长度。 如 LENGTH name 15$ 20 ;
SAS表达式
SAS运算符包括算术、比较、逻辑等运算符。 算术运算符为 +,-,*,/,**,运算优先级按通常 的优先规则。 比较运算符用于比较常量、变量的值大小、相等, 包括 = ^= > < >= <= IN EQ NE GT LT GE LE 运算符IN是一个SAS特有的比较运算符,用来检查某 个变量的取值是否在一个给定列表中,比如 prov in („北京’, ‘上海’, ‘天津’, ‘重庆') 可以判断变量prov的取值是否为四个直辖市之一。
SAS程序的输出 若干数据步和几个过程步构成一个SAS程 序.SAS程序一般在PGM窗口采用全屏幕编辑方 式输入.当程序输入完毕,检查修改后就可以 提交给SAS系统执行. 在程序执行的过程中,日志(LOG)窗口显 示程序执行中记录的信息;它包括执行哪个语 句;生成的数据集中变量个数及观测个数是多 少;每一步花费的时间及出错信息等等. SAS过程产生的输出显示在输出(OUTPUT) 12 窗口.
3
SAS语言
SAS语言也有它自己的语汇和句法--关键 词和连结关键词与 其他辅助信息的规则. 用户使用SAS语言来生成数据集并规定对 数据怎样做统计分析的问题 . 由SAS语句组成的序列称为SAS程序. 一个SAS语句是由SAS关键词、SAS名字、 特殊字符和运算符组成的字符串,并以分号 (;)结尾,它要求SAS系统执行一种操作或 给SAS系统提供信息. 4
16
SAS语言
SAS表达式
逻辑运算符用来连接比较得到的结果以构成复杂 的条件,有三种逻辑运算符: &(AND) |(OR) ^(NOT) 其中AND是&(与)的等价写法,OR是|(或)的等价 写法,NOT是^(非)的等价写法。例如 (salary >= 1000) AND (salary < 2000) 表示工资收入在1000-2000之间(不含2000); (age <= 3) OR (sex = „女’) 表示三岁以下(含三岁)的婴儿或妇女; NOT ((salary >= 1000) AND (salary < 2000)) 表示工资收入不在1000-2000之间。
6
SAS程序
SAS程序中的语句分别属于两类步骤:DATA步 和PROC步.这两类步骤是所有SAS程序的组成部分. 每一步是一段相对完整的可以单独运行的程序。 通常用DATA步产生SAS数据集,而用PROC步对 SAS数据集中的数据进行分析处理并输出结果. 一个SAS程序可由一个DATA步或一个PROC步组 成;或者由DATA步和PROC步两部分组成;也可由 多个DATA步和PROC步组成.
在数据步中使用的SAS语句包括:
⑪ 文件操作语句--要求SAS创建一个或几个 新的SAS数据集的语句,如DATA、INPUT、CARDS、 INFILE、SET、MERGE等语句; ⑫ 运行语句--对创建数据集所必须进行的 运算语句,如赋值、累加、Where等语句;
9
数据步(DATA步)
⑬ 控制语句—实现从程序的一部分转移到
SAS表达式
SAS常量主要有数值型、字符型两种,并且还提供 了用于表达日期、时间的数据类型。例如 数值型:12,-7.5,2.5E-10 字符型:'Beijing',"Li Ming","李明"
日期型:'13JUL1998'd
时间型:'14:20't 日期时间型:’13JUL1998:14:20:32‟dt 因为SAS是一种数据处理语言,而实际数据中经常 会遇到缺失值,比如没有观测到数值,被访问人不肯
另一部分的语句,如DO循环、IF、GO TO、
SELECT、LINK等语句;
⑭ 信息语句—给出关于数据集或正被生成
的数据集的附加信息,如ARRAY、Baidu NhomakorabeaNFORMAT、
FORMAT、LENGHT、ATTRIB、KEEP、DROP等语句.
10
过程步以PROC语句开始,用于分析处理 SAS数据集中的数据。 PROC步要求SAS从过程库中调出一个过程并 执行这个过程,通常用SAS数据集作为输入数 据.PROC步一定以PROC语句开始,在PROC步里 的其他语句给出用户想得到有关结果的更多信 息的程序语句. 可以用在PROC步的语句依赖于你调用的这 个特殊的过程.在以后每个过程的描述中我们 都将给出可以和该过程的PROC语句一起使用的 11 一些语句.
许多SAS语句都是以关键词开始并用它识别语句的
类型.如DATA语句、PROC语句、INPUT语句等.
SAS语句中可能出现的SAS名字种类很多,如变量名、
SAS数据集名、格式名、过程名、数组名、语句标号 名、以及作为文件标记和库标记的特殊名字.
SAS名字最多可由32(V6为8)个字符组成,第一个字
23
SAS语言
SAS函数
• 测试函数功能的一个简单的程序: data _null_; y=sqrt(3); put y= ; run; 程序提交后将在LOG窗口给出SQRT(3)的 结果为Y=1.7320508076 3 。
24
分布函数和分布密度函数
SAS语言
• SAS语言作为一种统计计算语言,它提供了 多种概率分布的有关函数。其中分布密度、 概率、累积分布函数等可以通过几种统一的 格式调用,格式为
7
SAS语言
SAS编程基本概念
• 用户提交的 SAS 程序由许多程序步构 成。
原始 数据
数据步常用于创建数据集
数据步 DATA步 SAS表 过程步 PROC步 报告
SAS表
过程步常用于处理数据集(生成 报表、图形和实现数据分析功能)
8
数据步(DATA步) 数据步以DATA语句开始, RUN语句结尾,用 于创建和加工SAS数据集.
回答等等。SAS中用一个单独的小数点( .)来表示
缺失值常量。
14
SAS表达式
SAS变量的基本类型有两种:数值型和字符型。日
期、时间等变量存为数值型。
SAS的数值型变量可以存储任意整数、定点实数、 浮点实数,一般不关心其区别。数值型变量在数据集 中的存贮一般使用8个字节。 SAS的字符型变量缺省的长度是8个字符,但是如
在SAS系统9.1版本,SAS函数分为二十五种类 型,它们是算术函数、截取函数、数学函数、 概率和密度函数、分位数函数、非中心函数、 样本统计函数、随机数函数、财政金融函数、 字符函数、日期和时间函数、洲和Zip码(邮政 编码)换算函数和特殊函数等等(在SAS系统
6.12版本,SAS函数分为十七种类型共有178