网站大量收购独家精品文档,联系QQ:2885784924

SAS第二讲编程创建SAS数据集分析.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第二讲 编程创建SAS数据集 Data步的一般形式 Data步的编译与执行 变量输入设定 SAS程序的基本内容和结构 基本内容:指明供操作的数据、对数据进行何种加工、期望的输出结果 基本结构:数据步(Data step)语句、过程步(Proc step)语句 Data步的一般形式 SAS程序的书写规则 每个语句以关键词开始,分号结束(不能是中文状态分号) 语句可以在任意列开始和结束,一个语句可以写成多行,多个语句也可以写成一行 语句的词与词之间可以用一个或多个空格符或其他特殊字符隔开 程序行数的添加: Tools\Options\Enhanced Editor…… 数据步的一般形式 Data步一般形式1: Data 数据集名; Infile 文件名 fistobs=n1 obs=n2; Informat 变量名 变量输入格式; Input 变量输入设定; Format 变量名 变量输出格式; Label 变量名=‘变量标签’; Run; 例1 编写程序读入数据“例1.txt”。 Data步的一般形式 数据步的一般形式 Data步一般形式2: Data 数据集名; Infile datalines(或cards) 其他选项; Informat 变量名 变量输入格式; input 变量输入设定; Format 变量名 变量输出格式; Label 变量名=‘变量标签’; datalines(或cards); 数据列 ; Run; 无其他选项时Infile语句可以省略 例2 编写程序 读入数据 “例2.txt”。 Data步的一般形式 变量输入设定 格式化输入模式 适用于字段固定格式源文件,以指针指定起始列,以输入格式决定结束列 一般形式: Input 指针控制 变量名 输入格式…; @n:绝对位置 +n:相对位置 指针默认起始位置为第一列,读入一个字段后指向下一列,依次读入各个字段可缺省 例3 编写程序读入数据“例3.txt”。 例4 编写程序读入数据“例4.txt”。 按列输入模式 适用于字段固定格式源文件 一般形式: Input 变量名 $ n1-n2; 优点:读入字段灵活,允许字符型变量中存在空格符与其他特殊符号,缺失数据无特殊占位要求 缺点:没有设定输入格式,某些类型数据不能正确读入 变量输入设定 例5 使用按列输入模式读入数据“例4.txt”。 列举输入模式 适用于分隔符固定格式源文件,依次读入由分隔符隔开的各个字段 一般形式: Infile 文件名|Cards DLM=分隔符; Length 变量名… $ 长度…; Input 变量名 $…; Input 变量名:输入格式…; 默认长度为8,超过会截断 可于input语句前 解决变量长度超过8的问题 解决特殊格式的输入及 变量长度超过8的问题 例6 编写程序读入数据“例6.txt”。 变量输入设定 分隔符为空格时可缺省 例7 编写程序读入数据“例7.txt”。 读入模式的混合使用 可针对数据特点对不同字段使用不同读入方式 变量输入设定 控制变量输入的关键词:指针位置、格式、分隔符 读入变量的原理:从指针位置(缺省为第1列)读入第一个字段直至 (1)达到规定列;(2)遇到分隔符; (3)达到规定长度(默认长度8、格式规定或Length语句规定) 读入格式由两种情况决定: (1)字符型默认($)和数值型默认; (2)指定格式; ①与变量无冒号分隔:指针达到格式指定长度 ②与变量有冒号分隔:指针达到分隔符前一列 例8 数据“例4.txt”的第一个变量为身份证号,从中读取出生年月日产生一个新的变量。 Data步的编译与执行 数据步程序 编译阶段 执行阶段 创建数据集的描述部分 扫描每个语句检查语法错误 创建数据集的数据部分 对源数据文件每条记录执行数据步 数据步的编译阶段(Compilation phase) 检查程序的语法错误(词语、语法) 转换程序为机器码,供执行阶段使用 建立工作部件:输入缓冲器(Input Buffer) 建立工作部件:PDV(Program Data Vector) 确定数据集中变量的三个必须属性(Name,Type,Length) 建立数据集描述部分 Data步的编译与执行 SAS系统处理DATA步的粗流程 源数据文件 工作部件 Input Buffer PDV SAS数据集 由程序决定 由程序决定 _N_ _Error_ Data步的编译与执行 数据步的执行阶段(Execution phase) PDV中外部变量初始为缺失值(数值:句号,字符:空格) 输入原文件中每条记录至输入缓冲器,按Input语句读入PDV 在数据步结

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档