SAS编程data步程序简介

SAS编程data步程序简介

ID:42536435

大小:90.20 KB

页数:37页

时间:2019-09-17

SAS编程data步程序简介_第1页
SAS编程data步程序简介_第2页
SAS编程data步程序简介_第3页
SAS编程data步程序简介_第4页
SAS编程data步程序简介_第5页
资源描述:

《SAS编程data步程序简介》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1、建立数据集dataMM;inputa$bc;m=b+c;n+1;/*直接声明一个变量n,数据为累加型定义时不需要等号*/labelm='results';cards;aa12bb34cc56;run;procsortdata=MM;/*如果前面使用了rename语句对变量名重新进行了赋值的话,在排序时须使用新的变量名多级排序先总后分,与sql中相同*/bydescendingm;run;procprintdata=MM;var_numeric_;var_character_;title'chu

2、lijieg';run;注意:整体步骤为先生成数据集,然后再排序;最后输出结果;Var之后要有空格;排序时,bydesecendingm;必须用变量名m,不可用标签result;A为字符串时,需在后面加符号$,不规定字节数的话不用加点;数据输入时,每个对象须单独起一行;数据输入结束时,分号必须另起一行;下划线的输入:减号;若varnumeric在先,则输出时数字列在前;若character在先,则输出时字符列在先;2、生成空数据集datat2;lengthname$8.percent8.;/*定义

3、两个变量name、perceng的类型、长度,各参数均不可省略*/stop;/*没有stop的话会生成缺省变量*/run;2用infile语句导入外部数据datagraph1;infile'e:umber.txt'delimiter='09'x;/*数据以txt文档存储,位置为e:umber.txt直接从excel中黏贴至文本文档,分隔符为制表符制表符的表示方法为‘09’x*/inputabcd;/*因前面已经指明分隔符为制表符,且变量皆为数值型,故虽未再进一步说明,程序仍会自动以分隔符分

4、割变量*/run;procprint;run;linesize语句:指定行长度,可突破262字节的限制2、读取指定位置的文件在e盘建立文件夹ee,其中一份sas数据集名为data1.读取data1的程序为libnamett1'e:ee';/*将文件及ee的路径指定为tt1*/dataa;settt1.data1;/*复制路径tt1下名为data1的数据集*/run;若要获取data1的头文件:不平衡分组数据的读入dataa;doj=1to2;inputn;doi=1ton;inputxy@@;o

5、utput;end;end;dropni;cards;8/*必须换行,程序读数据8之后,转向执行doi语句,再次读取数据时指针会自动跳转至下一行*/1112223334445556667778885151252353454555;run;3delimiter定义分隔符datanew1;infilecardsdelimiter=',';/*定义逗号为分隔符注意。Infilecards语句需放在下面的input变量语句之前*/inputxyz;/*输入至一行介绍时会自动结束。转至下一行,但若定义了字符

6、型变量长度的话则不会开始下一变量输入,而是将下一行数据继续认为是未输入完的变量的一部分*/cards;1,2,34,5,6;datanew2;infilecardsdlm='ab';/*ab的所有组合形式均将被认为是分隔符*/inputxyz;cards;1aa2ab34bb5ba67a8b9;run;procprintdata=new1;run;procprintdata=new2;run;3.永久存储变量libnamenumber'e:';/*首先指定物理路径*/datanumber.fir

7、st/*命名时物理路径在前*/(drop=blabel='analysis'rename=(a=locationb=timec=proctd=wanted));/*drop语句在先,则变量b不会进入数据集,对b进行的命名等操作也不会进行*/infile'e:umber.txt'delimiter='09'x;inputabcd;run;procsortdata=number.first;bydescendinglocation;/*a变量名称已改为location*/run;procprint

8、;run;4将数据拆分为多列dataa;inputtype$@;/*@表示下面的操作均在这一行进行*/iftype='c'theninputcourse$prof$;/*then后面需用input命令*/elseiftype='s'theninputname$id3.2;cards;cmathzxsszhao58888;procprint;run;5读取指定数据Dataa;input@1x5.2@6y2.1+2z#2xx;/*@1置于变量前,表示从第一列开始读*//*5.2共占五位

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

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

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