- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章_创建数据集
第6章 创建数据集 蔡德利 TsaiDeli@ 黑龙江八一农垦大学植物科技学院 本章主要内容 概述 Data Step 加工数据集 PROC Step 概述 SAS对数据的管理 通常,有两种: SAS数据集(data set) SAS数据视图(data view) 概述 概述 SAS数据视图只有描述部分,没有数据部分,但描述部分包含了足够的信息以找到保存在其他文件中的数据; 数据视图减少了维护费用。 如果改变了源数据,数据视图将随着改变。 可由SQL、ACCESS和DATA Step产生。 概述 Libname命令 作用:指定库标记。 一般格式: Libname 库标记 ’文件夹位置’ 选项; 例如:指定目录“G:\SAS统计分析\SAS”为库标记MySASLib Libname MySASLib ’ G:\SAS统计分析\SAS’; 概述 SAS语言是一种专用的数据管理、分析语言,它提供了很强的数据操作能力。 表现在 它可以轻易地读入任意复杂格式的输入数据,并可以对输入的数据进行计算、子集选择、更新、合并、拆分等操作。 另外,SAS系统还提供了用来访问其它数据库系统如Sybase、Oracle的接口,访问各种微机用数据库文件如FoxPro、Excel的接口及向导,并提供了一个SQL过程来实现数据库查询语言SQL的功能。 概述 SAS语言的自编程计算功能主要在数据步实现。 一个SAS数据步相当于一个单独运行的程序。 但是,SAS语言又是一个专用数据处理语言,所以SAS数据步有其他语言所没有的特点。 概述 例如 /* SasProg0601.SAS */ data a; put x= y= z=; input x y; z=x+y; put x= y= z=; cards; 10 20 100 200 ; run; 概述 运行后在Log窗口显示 … x=. y=. z=. x=10 y=20 z=30 x=. y=. z=. x=100 y=200 z=300 x=. y=. z=. NOTE: The data set WORK.A has 2 observations and 3 variables. … 概述 程序的运行流程: 1. DATA语句标志了数据步开始,并指定了数据步结束时要生成的数据集名字为A(实际是WORK.A)。 2. 第一个PUT语句要输出变量X、Y、Z的值, 但它们还都没有定义,所以显示为三个缺失值。 3. INPUT语句,从CARDS语句后面的数据行中读取变量X的值10,变量Y的值20。 4. 下一个赋值语句计算变量Z的值得到30。因此,LOG 中的第二行输出显示三个变量的值分别为10、20、30。 概述 5. 从CARDS语句开始到空分号行的各行是非执行的,程序运行到RUN语句,发现这是本数据步的最后一个语句,按一般的程序语言的规则,程序到这里就应该结束了,但是,SAS是一个专用数据处理语言,如果按一般语言的规则,程序中的第二行数据(100 200)就不能被读入。所以,这个程序运行到RUN语句后,把读入的观测(这是第一号观测)写入输出数据集, 6. 流程又返回到DATA语句后的第一个可执行语句开始执行,并先把所有的变量置初值为缺失值。于是,第一个PUT语句的结果显示三个变量均为缺失值,而不是上一步的10、20、30。 概述 7. INPUT语句又从数据行中读入下一个观测,把变量X、Y赋值为100、200。读取位置由运行时设置的一个数据指针指示。然后计算变量Z的值得300。于是PUT语句输出的X、Y、Z值分别为100、200、300。 8. 流程跳过CARDS语句到空语句,到数据步结尾,把第二号观测输出到数据集。 9. 再返回到数据步开头,把变量值赋初值为缺失值,所以第一个PUT语句输出的三个变量值为缺失值。 10. 运行到INPUT语句,应该读入下一个观测,但是查询数据指针发现已经读完了所有数据,所以本数据步结束,并把两个观测写入数据集WORK.A中。 概述 从这个例子可以看出SAS数据步程序和普通程序的一个重大区别: SAS数据步如果有数据输入,比如用INPUT、SET、MERGE、UPDATE、MODIFY等语句读入数据,则数据步中隐含了一个循环。 概述 Data Step 流程: 概述 Data Step 第一种方式语法: DATA 数据集名; Input 变量列表; Cards; 数据区 ; Data Step DATA语句 作用: 标志数据步的开始。 命名将要创建的SAS数据集。 CARDS语句 作用: 用于直接输入数据,标志着数据块的开始 Data Step 直接输入SAS数据: /* SASProg0602.sa
文档评论(0)