ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:729.97KB ,
资源ID:7502982      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7502982.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(the little sas book学习笔记全部章节.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

the little sas book学习笔记全部章节.docx

1、the little sas book学习笔记全部章节第一章1、每一个SAS语句都由一个分号结尾2、SAS语句不区分大小写。 一条语句可以持续到第二行(只要不把一个单词分开)。 几条语句可以用一行。 可以在任何一列中开始一条语句SAS数据集也被叫做表、观测值也被叫做行、变量也被叫做列。在SAS中只有两种数据类型数值型和字符型。字符变量的缺失值用空格表示,数值变量的缺失值用句号(.)表示。SAS命名规则:名字的长度要小于等于32个字节。(一个字母1个字节,一个汉字2个字节)以字母或下划线开头。可以包含字母、数字、或者是下划线,不能是%$!*&#。可以是小写或大写字母,且不区分大小写。程序的结束:

2、当程序遭遇DATAPROC等标志着新程序开始的语句时,程序结束。如果运行的是批处理,则run代表语句的结束。数据步按照一行一行、一个观测值一个观测值的顺序执行OPTIONS语句既不属于数据步也不属于过程步。10、导入数据filename mydata E:;data uspresidents; infile mydata;input name $ party $ number;run;data uspresidents;infile E:;input name $ party $ number;run;第二章INFILE语句告诉SAS外部数据的文件名和存放路径,它在data语句之后,在INPU

3、T语句之前。2、Input语句最基本用法读取空格分开的原始数据:你必须读取所有的数据记录,不能跳过某些值、缺失值必须用句号“.”代替。字符串数据不能包含空格、长度不能超过8个字符。读取变量名中含空格的读取按固定列排列的原始数据:input关键字后接变量名、再接变量的列位置。. informats读取非标准格式的原始数据$代表是字符串、informats代表形式(比如日期的MMDDYY)、w是宽度、d是小数点的位数、最后是句号“.”,缺少句号会使得SAS把形式(如MMDDYY)当做变量名:遇到空格继续读取或不继续读取定义为$length,在该长度中,空格也算在内。如果要使SAS读取过程中遇到空格

4、则不再继续读取,则要在$length.前面加冒号“:”。从某个地方开始读取 作为列指示器,告诉SAS读取之后的内容。跨行观测值的读取方式行指示器,斜线/:告诉SAS跳至原始数据的第二行;#n:跳至第n行,n代表原始数据中某观测值的行数(#2则让SAS跳至某观测值的第二行)。一行读取多个观测值可以在input语句结尾加一个停止符号。按条件读取部分观测值在input语句结尾加符号,这告诉SAS先停在(hold)此行,同时用IF语句检测此观测值是否满足需要,如果是,那么可以再用一个input语句来读取现有的变量。、 vs 的作用类似于,都是行停留指示符(line-hold specifiers),不

5、同地方在于停留多久,能使SAS停留到下一个input语句(也不换行),能使停留的时间到下一个data步(也不换行)。3、用infile语句中的选项控制输入 FIRSTOBS= 选项告诉SAS从哪一行开始读取数据 OBS= 告诉SAS一直读取到哪一行位置 MISSOVER 在input语句中输入的几个变量,SAS在观测值中就读取几个变量,如果一行未读完,则进入下一行直到输入的变量都读取了变量值。missover可以让SAS不进入下一行读取,未赋值的变量就使其成为缺失值。 Truncover 当每行的长度不一时,指定最长的列读取观测值,使得当读取短行的观测值时不会跳到下一行读取;4、用数据步读取分

6、隔符文件 DLM= 指定空格以外的其他分隔符。如果是用制表符隔开的,那么可以使用DLM=09X来指定。1.忽略引号中数据的分隔符,例如一个观测Joseph,76,Red Racers, Washington非引号中的逗号能识别成分隔符,而引号中的逗号不能识别;2.自动将字符串中的引号去掉;3.将两个相邻的分隔符当作缺失值来处理。(并且,DSD默认分隔符为逗号,如果数据中的分隔符不是逗号,那么要用DLM来指定)5、用导入过程(IMPORT procedure)读取分隔符文件如果文件没有正确的扩展名,或者是DLM格式的,必须在proc import语句中用DBMS=option。如果想要创建的数据

7、集名字已经存在,那么要用replace选项代替。用LIBNAME语句使用永久数据集LIBNAME语句基本形式为:LIBNAME + 库名+ 路径 ;7.查看SAS数据集的描述Proc contents data=data-set第三章1、表达式创建新变量2、使用SAS函数DAY():返回一个月中的天数;upcase():将字母改为大写字母。3、使用IF-THEN语句基本形式为:IF 条件 THEN 执行;.可以用AND和OR来定义多个条件:IF Model=Mustang AND Year1975 THEN Status=classic;用IF-THEN语句将观测值分组构造子集这两句话是等价的

8、:IF Sex=f; IF Sex=m THEN DELETE;处理SAS的日期数据SAS处理日期数据的三个工具为:读取数据的informats,使用数据的函数(functions),打印数据的formats。Formats打印日期数据时,还需要将数值换成日期FORMAT BirthDate WORDATE18.;使用retain和sum语句创建数组格式ARRAY store(4) Macys Penneys Sears Target;store(1)是Macys,store(2)是Penneys,store(3)是Sears,store(4)是Target。(变量可以是已存在的,也可以是新创

9、建的)方便对同类型的变量进行处理7、列出变量名的快捷方式第四章1、BY语句 BY语句只在过程proc sort中是必须的,它用来对观测值排序。其他过程都假设了数据已经进行了排序,所以如果数据还没有排序,那么在分析之前要用proc sort排序。TITLE 和FOOTNOTE语句为输出加上标题和脚注Label语句为输出的变量加上标签在数据步中使用label语句,则标签会保存在数据集中;在过程步中使用,标签只在这个过程中有效。用where语句在过程中构造子集不会创建新的数据集3、用proc sort为数据排序选项nodupkey告诉SAS排序时删除重复值PROC SORT DATA=messy O

10、UT=neat NODUPKEY;将DESCENDING加在要降序的变量前面BY State DESCENDING City;用proc print打印你的数据 NOOBS选项与LABEL选项SAS默认打印观测值数,noobs选项可以取消。SAS默认打印时用变量标签代替变量,用label可以改变取消:PROC PRINT DATA=data-set NOOBS LABEL;其他选项BY variable-list; 前提是数据必须进行排序ID variable-list; 指定观测变量SUM variable-list; 打印变量总数VAR variable-list; 指定打印哪部分变量以及

11、打印顺序,默认打印全部。用formats改变打印外观Format可以用在数据步和过程步中,前者将把格式永久储存,后者只是临时储存。使用proc format创建自己的格式第五章1、ODS、ODS TRACE语句:告诉SAS打印出SAS日志中输出对象的信息。ODS select语句:知道输出对象的名字之后,选择需要的输出对象。ODS OUTPUT语句:有选择地创建新的数据集。提醒:ODS 语句不属于数据步也不属于过程步,摆放它的好位置是proc过程步之前,这个过程步的输出正是你希望捕捉的。、使用ODS语句创建HTML输出Contents= 文件是一个链接到主体文件的一个目录表,它将会列出输出的每

12、个部分,点击表中某个条目,相关输出会出现。Page= 文件类似于contents文件,不同的是,contents通过标签列出输出的每个部分,而page文件通过页码列出。Frame= 允许同时访问在不同区域、框架或浏览器窗口中,访问主体文件、contents文件和page文件。Style= 这个选项允许指定一个风格模板,默认的模板名为default。、使用ODS语句创建RTF输出在word中输出:在PDF中输出:2、标题和注脚(title、footnote)指定颜色、TITLE COLOR=BLACK Black COLOR=GRAY Gray COLOR=LTGRAY Light Gray;背

13、景颜色、TITLE BCOLOR=#C0C0C0 This Title Has a Gray Background;高度、TITLE HEIGHT=12pt Small HEIGHT=.25in Medium HEIGHT=1cm Large;对齐方式、TITLE JUSTIFY=LEFT Left JUSTIFY=CENTER vs. JUSTIFY=RIGHT Right;字体、TITLE Default FONT=ArialArialFONT=Times New Roman Times New Roman FONT=CourierCourier加粗与斜体TITLE FONT=Courie

14、rCourierBOLDBoldBOLD ITALICBold and Italic;3、改变输出表格的背景(style)改变数据单元的背景颜色:增加VAR语句,将record列的字体改为斜体和粗体:用style=option定制proc report输出基本格式注意:Define name/group;表示name变量不用sum。改变数据单元的背景颜色和对齐方式只改变name这一列使用style=option定制proc tabulate(表格)输出制表基本格式将数据单元的数据居中,并将背景设置为白色改变数据单元:PROC TABULATE DATA=mysales STYLE=BACKGR

15、OUND=yellow;改变行或列:TABLE City,Month ALL*STYLE=BACKGROUND=red;6、按条件改变某列值的颜色用到format语句,相当于自定义改变颜色的条件。第六章SET语句使用SET语句修改数据集基本形式为:DATA new-data-set;SET data-set;取子集:sales中变量day=F的观测,并新增变量:total。使用set语句堆叠数据基本形式为:DATA new-data-set;SET data-set-1 data-set-n;适用于有相同变量的两个数据集。使用SET语句插入数据集基本格式:DATA new-data-set;S

16、ET data-set-1 data-set-n;BY variable-list; merge语句一对一匹配合并数据集DATA new-data-set; MERGE data-set-1 data-set-2;BY variable-list;两个数据集的必须得先按主键排序。注意:如果两个数据集有重叠的变量除了BY变量,那么第二个数据集中的此变量会覆盖第一个数据集中的。一对多匹配合并数据一对多的一要放在前面。合并统计量与原始数据合并total和原始数据()DATA new-data-set; IF _N_=1 THEN SET summary-data-set;SET original-d

17、ata-set;适用于没有匹配变量的情况下,将一个单个观测值合并到多个观测值中。update语句基本格式:DATA master-data-set; UPDATE master-data-set transaction-data-set;BY variable-list;(匹配变量的变量值有唯一性;交易数据的缺失值不会改写主数据中存在的值)使用SAS数据集选项用法:接在数据集名之后,用括号括起来KEEP=variable-list 告诉SAS保留哪个变量DROP=variable-list 告诉SAS丢弃哪个变量RENAME=(oldvar=newvar) 重命名某个变量FIRSTOBS=n

18、从观测值n开始读取变量OBS=n 到观测值n停止读取IN=new-var-name选择并重命名变量 :用observation number选择观测值 :用in=option追踪并选择观测值:创建的变量是临时的,只存在于数据步期间。若新变量存在一个数据集中则赋为1,不存在则赋为0.(用于SET,MERGE,或者UPDATE)5、output语句使用output语句写多维数据集IF family=Ursidae THEN OUTPUT bears;IF family=Ursidae THEN OUTPUT bears;(如果遗漏了数据集名,则将被写入数据步中所有的数据集中去)使用output将一

19、个观测值变成多个观测值SAS通常在数据步结尾将一个观测值写入数据中,output放入循环中,每循环一次就输出一个观测。6、transpose语句使用proc transpose将观测值转变为变量PROC TRANSPOSE DATA=old-data-set OUT=new-data-set;BY variable-list;(保持不变的变量)ID variable;(要变为变量的观测值)VAR variable-list;(要变为观测的变量)7、使用SAS自动变量_N_:记录了SAS在数据步中循环的次数_ERROR_:如果一个观测值的数据出现错误,_ERROR_会被赋值为1,否则赋值为0和:

20、当使用BY语句时,这两个变量才有效。SAS处理一个观测值时,如果某个变量的新变量值是第一次出现,被赋值为1,其他观测值中被赋为0。是同理的某变量的变量值是最后一次出现时,赋为1,其他赋为0。第七章定义宏变量:格式: %LET 宏变量名=值;如: %let dsn=;第八章用PROC UNIVARIATE检验数据分布(normal、plot选项)用proc means产生统计量用proc freq检验分类数据基本格式:PROC FREQ;TABLES variable-combinations/options;用proc corr检测相关性基本形式为:PROC CORR;VAR variable

21、-list;(变量出现在交叉表顶部)WITH variable-list;(变量出现在左侧)使用proc reg做简单的回归分析PROC REG LINEPRINTER;MODEL dependent=independent;PLOT dependent*independent=symbolP.*independent=symbol/OVERLAY;读取proc reg的输出使用proc anova做单因素方差分析读取proc anova的输出SQL部分PROC SQL;SELECT语句:SELECT (DISTINCT:只显示查询结果中不重复的数据)FROM WHERE 过滤条件:用于过滤查

22、询的数据。格式:别名.字段表达式=值连接条件:用于建立两个表间的关系。别名1.字段表达式1=别名2.字段表达式2GROUP BYHAVING HAVING:将统计结果作为查询过滤条件ORDER BY ASC | DESC嵌套查询where NA in (select jobcat from where idnum=supid )多表查询1.用WHERE子句设置联接条件在FROM子句中列出要查询的多个表在WHERE子句中加入联接条件.=. as m left join as d on = and =宏变量部分1、定义宏变量:%let 宏变量名=值;、用宏定义模块化代码 %macro 宏变量名;

23、.文本; %mend 宏变量名;、宏的调用 %宏变量名;、定义带参数的宏 %macro 宏变量名(参数1, 参数2,.)、引用带参数的宏实例:看看到底哪里方便了 %变量名(参数1,参数2,.)2、引用宏变量:&a(在带有引号的文本中引用宏变量时,需要将这个文本字符串用双引号括起来。) 多次引用宏(宏嵌套): 必须使用%str( )函数围住宏变量的值,以后用&d来引用此段程序。 3、显示宏变量%put &a + (分隔符(一般用句号.) + 其他文本4、宏内调用宏 %macro create; 子宏一 data temp; set mr.&dat; if year(date)=&year the

24、n output; run;%mend;%macro plot; 子宏二 proc gplot data=temp; title2 &year &pr timeseries; plot &price*date=1; run;%mend;%macro analyze(dat,year,pr,price); 主宏(参数用于代替子宏中的对应参数)%create;%plot;%mend;%analyze(a000001,1994,开盘价,oppr);%analyze(a000001,1995,收盘价,clpr);5、宏do循环语句计数型循环%do 循环变量=初值 %to 终值 %by 步长;循环体;%

25、end;当型循环%macro mac2;%let i=0;%do %while (&i 10 ) ;%let i =%eval( &i + 1);(对循环变量累加赋值时需使用函数%eval( )来计算算术表达式的值)%put &i;%end;run;%mend;%mac2; 6、条件判断语句%if 表达式 %then 语句1;%else 语句2;7、宏与数据步的信息交换data a ;input n;cards;10;run;%macro what; data _null_;set a;call symput(then,n);(将数据步中的变量n传递给了宏变量then)run;footnote 共&then.个结果;(不能漏了句号)%mend;8、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1