- 1、本文档共95页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲 SAS的数据存储与读取
下一讲 查询语言SQL * 如何查找系统命令? * 与宏结合非常有用,可以建立多个文件的批处理程序 从例2.24 b)可以看到,从文本文件中引入证券代码时会发生错误,将代码作为数值变量处理,因此代码前面的’0‘都被删去。 由于import过程不能指定变量的格式,因此这种缺陷在import过程中改善不了,但这种情况可以通过infile语句来改善。 Infile语句 例2.25 将d:\data文件夹中的EXCHBDQTTN.txt文件导入,建立数据集a。 Data a; Infile D:\data\EXCHBDQTTN.txt delimiter = 09x Missover Dsd lrecl=32767 firstobs=2 ; Input Bdcd $ Date Resbdid $ Bdnm $ Cldirpr Clnetpr Clyield Trdvol netTrdsum Accint Conv Dur Modifdur Yrstmat Couprt Freq Intmd $ Couptp $ Bdtype $ Intdt Matdt ; Informat Bdcd $8. Date YYMMDD10. Intdt YYMMDD10. Matdt YYMMDD10.; Format Bdcd $8. Date YYMMDD10. Intdt YYMMDD10. Matdt YYMMDD10.; Run; Infile-input格式(参见第六章6.10(1版),4.10(2版)) INFILE语句用来定义一个外部数据文件,文件中的数据用INPUT语句读取。外部文件可以是已存在的磁盘文件,也可以是从键盘上输入的数据行。 语句格式 INFILE file-specification option-list host-option-list; FILE-SPECIFICATION选项说明: External file: 规定一个外部文件的完整路径和文件名 帮助索引:infile statement 例2.25(续) 锐思数据库下载的文件如何直接转换成SAS格式? data a; infile cards delimiter=,; input x y z; cards; 3,6,9 1,3,5 8,8,8 ; 例中,要输入的数据用逗号分隔,创建SAS数据集时用选项DELIMITER=’,’。 数据集a x y z 1 3 6 9 2 1 3 5 3 8 8 8 例2.26 DELIMITER=选项应用 data scores; infile datalines delimiter=,; input test1 test2 test3; datalines; 91,87,95 97,,92 , 1 , 1 ; 例中,分隔符为逗号,但第二个观测值的两个相邻分隔符之间还有缺失值,没有DSD选项时,这两个相邻的分隔符组成一个分隔符,于是,输入数据时会出错。 test1 test2 test3 1 91 87 95 2 97 92 1 例2.27 DSD选项应用 上例加上DSD选项,将两个相邻分隔符之间的数作为缺失值处理 data scores; infile datalines delimiter=, DSD; input test1 test2 test3; datalines; 91,87,95 97,,92 , 1 , 1 ; 通常情况下,同时加上MISSOVER和 DSD两个选项是良好的编程习惯。 test1 test2 test3 1 91 87 95 2 97 . 92 2 . 1 1 2.3 输出原始数据 一、输出单个变量值 例2.28 A)将data.class中的变量name输出; Data _null_; Set data.class; Put name; Run; B)将data.idx000001中的stkcd、date变量带变量名输出,date的输出格式为yymmdd10.; 例2.28-b(续) data _null_; set data.idx000001; format date yymmdd10.; put stkcd= date=; run; 或 data _null_; set data.idx000001; put stkcd= date= yymmdd10.; run; Put语句(参见6.3节(1版),4.3(2版)) 默认情况下PUT语句输出信息到: SAS系统的LOG窗口
您可能关注的文档
- 第16课《感恩节贺卡制作》.ppt
- 第16章 JSP技术.ppt
- 第16课《三国鼎立》51193.ppt
- 第17章_第1讲_程序框图及简单的算法案例.ppt
- 第17课《智取生辰纲》课堂教学实录.doc
- 第17章 欧姆定律单元测试.doc
- 第17课《麋鹿》教学设计.doc
- 第18课马克思主义的诞生课件(共24张PPT).ppt
- 第18章 蒙代尔-弗莱明模型.ppt
- 第18课 社会主义的发展与挫折.pptx
- 小学儿童自我意识、情绪管理与社交能力研究.docx
- 部编版四年级下册道德与法治期末测试卷附完整答案(各地真题).docx
- 部编版四年级下册道德与法治期末测试卷附完整答案(历年真题).docx
- 部编版四年级下册道德与法治期末测试卷附完整答案(历年真题).docx
- 部编版四年级下册道德与法治期末测试卷附参考答案【巩固】.docx
- 部编版四年级下册道德与法治期末测试卷附答案(综合题).docx
- 部编版四年级下册道德与法治期末测试卷带下载答案.docx
- 部编版四年级下册道德与法治期末测试卷附答案(综合题).docx
- 部编版四年级下册道德与法治期末测试卷带下载答案.docx
- 智能停车系统设计与运营管理.docx
文档评论(0)