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

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

ID:61035724

大小:334.50 KB

页数:18页

时间:2021-01-20

SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc_第1页
SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc_第2页
SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc_第3页
SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc_第4页
SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc_第5页
资源描述:

《SAS系统和数据分析建立SAS系统的数据集 (DATA STEP).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第八课建立SAS系统的数据集(DATASTEP)用户用SAS数据步(DATASTEP)创建一个数据集的方法,与前两种SAS/ASSIST和SAS/FSP创建一个数据集的方法相比,DATASTEP是一种非交互式的全部编程实现的方法。这种方法能把多样的、复杂的外部文件数据格式通过程序语句的控制转换为我们所需的SAS数据集。一、DATA程序步的三个主要步骤为了从外部原始数据文件得到SAS数据集,DATA程序步的三个主要步骤为:l启动一个数据步,命名将要创建的数据集(使用DATA语句)l确定要读入的外部文件(使用INFILE语句)l描述如何读入每一条记录(使用INPUT语句)

2、如果需要在程序中直接嵌入数据,第二步用CARDS语句代替INFILE语句。所对应的一般程序结构如下:Data所要创建的数据集名;Infile‘读取的外部文件名’;Input变量1读入模式变量2读入模式……;Run;此程序结构很容易被错误理解为顺序结构,其实它的内部执行结构是一种循环结构。如图8.1所示是它执行过程的程序流程图。图8.1执行DATA步时的内部循环过程PDV(ProgramDataVector)称为程序数据向量,它是根据DATA步中的INPUT语句所确定的变量和变量的读入模式来创建的,假设INPUT语句中

3、各变量的长度为name$1-8、sex$1-2、bdate1-8、age1-3、height1-6、weight1-6、income1-8、sdate1-6,所创建的一个PDV如下表:namesexbdateageheightweightincomesdate82836686整个DATA步程序执行过程中,涉及到:l一个存放外部文件记录的输入缓冲区l一个存放当前观测的PDV向量l一个外部文件记录指针l一个程序指针l一个SAS数据集观测指针如图8.2所示。图8.2文件记录指针、程序指针、观测指针一、读入模式确定变量的读入模式共有四种:lcolumn模式lformatted

4、模式llist模式lnamed模式我们在这里将介绍三种主要的column模式、formatted模式和list模式。1.Column模式Column模式适用于读入数据固定在某些列中或数据中只包含标准的字符和数字。在INPUT语句中的一般使用形式如下:Input变量1<$>开始列<-结束列><.小数位>变量2……;变量后不带$符号表示此变量读取数字。例如,我们在NOTEPAD记事本程序中输入如图8.3所示的内容,操作如下:l在Windows桌面上的开始菜单中选择l程序/附件/记事本——打开NOTEPAD程序方法l并以Testdata.dat文件名存入到D:sasdat

5、amydir目录下,作为一个我们用来实验的外部文件图8.3用NOTEPAD程序创建外部文件相应地,在SAS系统的PROGRAMEDITOR中提交下面程序:Datatestd1;Infile‘d:sasdatamydirtestdata.dat’firstobs=2obs=4;Inputcode$1-8sex$9bdate$10-16income17-23.2;Procprintdata=testd1;Run;上面的程序的数据步在临时库WORK中创建了SAS数据集work.testd1,而过程步PRINT则显示该数据集,在OUTPUT窗口中显示的运行结果如图8.

6、4所示。图8.4用Column模式读入外部文件后的SAS数据集1.Formatted模式Formatted输入模式适合于含有不标准数据的文件,是一种更常用的输入模式。它有一根指针来先定位输入数据的开始位置,输入格式放在相应变量之后,输入格式指出了数据的类型和取值的宽度。它有以下两种格式:格式一:Input<指针控制>变量1输入格式<@

7、@@>…;格式二:Input<指针控制>(变量表)(输入格式表)<@

8、@@>;<@

9、@@>是行固定说明符,可选项。l单尾符@作用是为了执行下一条INPUT语句时,仍然把指针保持在当前输入的记录上。用于一个数据行用多条INPUT语句读取数

10、据。l双尾符@@作用是为了执行下一条INPUT语句时,甚至在DATA步重复执行时,仍然把指针保持在当前输入的记录上。用于一个数据行含有多条观测值时读取数据。行固定说明符也适用于Column模式。(1)使用单尾符@例如,对外部文件Testdata.dat也可以采用多条INPUT语句读取数据,DATA步程序如下:Datatestd2;Infile‘d:sasdatamydirtestdata.dat’;Inputcode$1-8sex$9@;Inputbdate$10-16income$17-23.2;Procprintdata=testd2;Ru

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。