欢迎来到天天文库
浏览记录
ID:6077905
大小:46.42 KB
页数:25页
时间:2018-01-02
《sas编程数据挖掘学习与帮助文档-3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《SAS编程与数据挖掘商业案例》学习笔记之九(2013-08-0707:41:14)转载▼标签:sasinfile语句数据挖掘数据分析sas编程分类:SAS编程继续之前的读书笔记,废话少说,直奔主题。本文重点在infile语句。十一:infile语句Dsd规定一个数据集可以包含分隔符,但是要用引号括起来,两个连续分隔符之间的数作为缺失值处理,默认分隔符为逗号Firstobs=规定从该记录行开始读入Obs=规定要读入的记录数Length=virable把当前行的数据长度赋值给临时变量variableMissover阻止input
2、语句从下一数据行读入数据,为赋值的变量设置为缺失eg:filenamefile'f:data_modelbook_datachapt3utf.txt';dataunicode;infilefileencoding="utf-8";inputname$weight;run;导入指定编码格式的文件eg:datanum;infiledatalinesdsddlm='';inputxyz;datalines;2345679;run;对于有缺失值时,利用dsd和dlm一起可以解决eg:dataweather;infiledata
3、linesmissover;inputtemp1-temp5;datalines;97.998.198.398.699.299.198.597.596.297.398.397.696.5;run;第一行后面两个数据缺失,此时用missover强制数据指针必须读完每一行对应的所有输入变量的值《SAS编程与数据挖掘商业案例》学习笔记之十(2013-08-0712:57:22)转载▼标签:sas数据分析retain语句keep语句array语句分类:SAS编程继续之前的读书笔记,本次讲解sas主要的变量操作,包括基本赋值语句、累加语
4、句、keep语句、retain语句、array语句、rename语句、length语句。1.基本赋值语句z=xy;z=sum(x,y);sum函数的好处是可以克服缺失值的影响;2.如果表达式中既有数值型变量又有字符型变量的话,则会将字符型变量转化为数值型变量3.系统在编译阶段,对于赋值语句变量,如果是字符型变量则长度为1,如果是数值型变量则长度为8,接下来,系统将执行赋值语句,这时变量长度将由第一次读入的表达式的运算结果决定。一旦第一次读入确定长度之后,下一次pdv无论读入多长的数据,都不会改变变量的长度。除非提前用lengt
5、h语句限定变量的长度。4.累加语句x1,x(-1)都是累加语句,其中x必须是数值型变量,在编译阶段,pdv自动设置累加变量值为0,它的值从当前执行后一直保留在pdv中,直到下一次执行为止。在项目实践中,一般用retain语句替代累加语句,因为retain语句可以初始化累加变量为一个非零值,而累积语句初始值只能为0.5.keep语句(keep语句不是可执行语句)Dataa3;setsashelp.class(keep=nameweight);x=1;keepnamex;Run;Dataa4(keep=namex);setsash
6、elp.class(keep=nameweight);x=1;Run;以上两个程序输出结果一样,但是对于读入数据集时,keep=的形式性能要远高于keep的形式,因为keep=的形式是仅限后面的变量进入pdv,对于拥有几百个变量的数据集而言,keep=效率要高;不过对于数据输出方面,keep=与keep性能没有区别;上面两个语句性能完全一样。6.retain语句(不是一个可执行语句)pdv运行规律:data语句与run语句构成了一个循环语句,一般情况下每读一遍data步所有语句时,pdv都会清空所有变量值,并设置为缺失值。然后
7、根据执行语句,再次对变量进行赋值。当data步使用retain语句时,pdv则不会清空retain语句对应变量,而是一直保留直到下次该变量再次执行。retain语句在data步中有着广泛的应用,对于数据集的操作可以到单元格,而一般函数只能操作到列,实际应用中retain会使程序更加灵活化。可以控制一个变量的值不变,除非有外部的条件的变化而变化。retain语句主要实现以下需求:汇总数据,累加变量,纵向比较变量,创建flag标识变量,处理缺失值,迭代累加字符变量值。Eg:关于汇总数据的一个例子(按照每个id,汇总cns的值,汇总
8、id的记录数,如果txn_cde变量取101和201两个值,则累加计算一次,计算txn_dte的最小值,)libnamechapt4"f:data_modelbook_datachapt4";datachapt4.retain1;inputidtxn_cde$cnstx
此文档下载收益归作者所有