- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- QY牌系列无线胶订热熔胶生产项目环境影响报告表参考.doc
- PVC深加工系列产品环境影响报告书参考.doc
- QZZN政法干警民法考试必备资料参考.doc
- Raise High the Roof Beam Carpenters Seymour An Introduction参考.doc
- QS_TRN_WIP物料发放部分参考.ppt
- QS申证单元及食品品种明细填写规范参考.doc
- Real Options and Other Topics in Capital Budgeting参考.ppt
- Real Solution达盈科技参考.doc
- RAROC培训 RAROC和商业银行经营管理参考.ppt
- Regression Algebra and a Fit Measure参考.ppt
- 2024年广东省广州市培正中学高三考前热身语文试卷含解析.doc
- 2024年四川省广元川师大万达中学高考冲刺模拟语文试题含解析.doc
- 广东省湛江市大成中学2023-2024学年高三第一次调研测试语文试卷含解析.doc
- 第5讲--简便计算(四)——裂项相消法.docx
- 浙江省普通高中学2024年高考语文必刷试卷含解析.doc
- 第3周理综试卷.docx
- 2023-2024学年广东省六校联盟(深圳实验,广州二中,珠海一中,惠州一中,东莞中学高考冲刺模拟语文试题含解析.doc
- 广东省佛山市南海一中2023-2024学年高三第二次联考语文试卷含解析.doc
- 2024届山东省泰安一中、宁阳一中高三第三次模拟考试语文试卷含解析.doc
- 附件一-2服务比武店内赛培训故障码.pdf
文档评论(0)