SAS系统和数据分析建立SAS系统的数据集 (DATA STEP)参考.doc

SAS系统和数据分析建立SAS系统的数据集 (DATA STEP)参考.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS系统和数据分析建立SAS系统的数据集 (DATA STEP)参考

建立SAS系统的数据集 (DATA STEP) 用户用SAS数据步(DATA STEP)创建一个数据集的方法,与前两种SAS/ASSIST和SAS/FSP创建一个数据集的方法相比,DATA STEP是一种非交互式的全部编程实现的方法。这种方法能把多样的、复杂的外部文件数据格式通过程序语句的控制转换为我们所需的SAS数据集。 DATA程序步的三个主要步骤 为了从外部原始数据文件得到SAS数据集,DATA程序步的三个主要步骤为: 启动一个数据步,命名将要创建的数据集(使用DATA语句) 确定要读入的外部文件(使用INFILE语句) 描述如何读入每一条记录(使用INPUT语句) 如果需要在程序中直接嵌入数据,第二步用CARDS语句代替INFILE语句。所对应的一般程序结构如下: Data 所要创建的数据集名 ; Infile ‘读取的外部文件名 ’ FIRSTOBS=开始读入的行 OBS=结束行 ; Input 变量1 读入模式 变量2 读入模式……; Run ; 此程序结构很容易被错误理解为顺序结构,其实它的内部执行结构是一种循环结构。如图8.1所示是它执行过程的程序流程图。 PDV(Program Data Vector)称为程序数据向量,它是根据DATA步中的INPUT语句所确定的变量和变量的读入模式来创建的,假设INPUT语句中各变量的长度为 name $1-8 、sex $1-2 、bdate 1-8 、age 1-3 、height 1-6、 weight 1-6 、income 1-8、 sdate 1-6 ,所创建的一个PDV 如下表: name sex bdate age height weight income sdate 8 2 8 3 6 6 8 6 整个DATA步程序执行过程中,涉及到: 一个存放外部文件记录的输入缓冲区 一个存放当前观测的PDV向量 一个外部文件记录指针 一个程序指针 一个SAS数据集观测指针 如图8.2所示。 读入模式 确定变量的读入模式共有四种: column模式 formatted模式 list模式 named模式 我们在这里将介绍三种主要的column模式、formatted模式和list模式。 Column模式 Column模式适用于读入数据固定在某些列中或数据中只包含标准的字符和数字。在INPUT语句中的一般使用形式如下: Input 变量1 $ 开始列-结束列.小数位 变量2 …… ; 变量后不带$符号表示此变量读取数字。 例如,我们在NOTEPAD记事本程序中输入如图8.3所示的内容,操作如下: 在Windows桌面上的开始菜单中选择 程序/附件/记事本——打开NOTEPAD程序方法 并以Testdata.dat文件名存入到D:\sasdata\mydir目录下,作为一个我们用来实验的外部文件 相应地,在SAS系统的PROGRAM EDITOR中提交下面程序: Data testd1 ; Infile ‘d:\sasdata\mydir\testdata.dat’ firstobs=2 obs=4 ; Input code $ 1-8 sex $ 9 bdate $ 10-16 income 17-23 .2 ; Proc print data=testd1 ; Run ; 上面的程序的数据步在临时库WORK中创建了SAS数据集work.testd1,而过程步PRINT则显示该数据集,在OUTPUT窗口中显示的运行结果如图8.4所示。 Formatted模式 Formatted输入模式适合于含有不标准数据的文件,是一种更常用的输入模式。它有一根指针来先定位输入数据的开始位置,输入格式放在相应变量之后,输入格式指出了数据的类型和取值的宽度。它有以下两种格式: 格式一: Input 指针控制 变量1 输入格式 @|@@… ; 格式二: Input 指针控制 (变量表) (输入格式表) @|@@ ; @|@@是行固定说明符,可选项。 单尾符@作用是为了执行下一条INPUT语句时,仍然把指针保持在当前输入的记录上。用于一个数据行用多条INPUT语句读取数据。 双尾符@@作用是为了执行下一条INPUT语句时,甚至在DATA步重复执行时,仍然把指针保持在当前输入的记录上。用于一个数据行含有多条观测值时读取数据。 行固定说明符也适用于Column模式。 使用单尾符@ 例如,对外部文件Testdata.dat也可以采用多条INPUT语句读取数据,DATA步程序如下: Data testd2 ; Infile ‘d:\s

文档评论(0)

2017meng + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档