SAS第四次作业.doc_第1页
SAS第四次作业.doc_第2页
SAS第四次作业.doc_第3页
SAS第四次作业.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAS 编程技术教程 朱世武 第四次作业(6章) - 6.1 举例说明数据集选项(data-set-options)中语句drop、keep、label、rename的用法。data new (drop=var1); /* 去掉数据集new中的变量varl */data new (keep=_numeric); /* 保留数据集new中的所有数值变量 */data new (label=股数历史);/* 规定数据集new的标签名为股数历史 */data new (rename=(var1=u var2=v); /* 将数据集new中变量var1和var2更名为u和v */答:6.2 什么是数据视窗?怎样创建SAS数据视窗?SAS数据视窗和SAS数据集有什么区别?答:数据视窗:是用来从其他文件中读取数据的一种SAS文件。创建数据视窗有两种途径: Native View:由数据步或者SQL过程创建 Interface View:由SAS/ACCESS软件创建data view=class; /*创建DATA步数据视窗文件*/set ResDat.class;run;如:区别:数据视窗只包括数据集的描述信息,如数据类型、变量长度等,再加上如何从其他文件中提取数据所要求的信息,本身并不能被直接编辑。6.3 怎样用PMG选项存储DATA步编辑程序?data ResDat.class1(keep=name age weight) /pgm=ResDat.c1; set ResDat.class; /*c1是被存储的SAS程序*/run;run;答:6.4说明特殊数据集名:_data_、_null_、_last_的含义。答:_data_ :(省略数据集名)。 data _data_; /* 等价于语句data;*/ 。 系统自动为数据集赋名:data1, data2, , datan 。_null_ : 一般和PUT语句一起使用。有PUT语句输出结果,只输出到LOG窗口,不会产生SAS数据集。_last_ : _last_是SAS系统的一个自动变量,取值为最新创建的SAS数据集名。6.5一个DATA语句下可以产生多个数据集吗?答:可以,可以由OUTPUT语句实现,如下例:data year2005 year2006 year2007;set ResDat.stk000001;if year(date)=2005 then output year2005; /* year为函数名 */else if year(date)=2006 then output year2006;else if year(date)=2007 then output year2007;run;例中,根据条件产生3个观测子集,名称分别为year2005,year2006,year2007。6.6 INPUT语句的用途是什么?答:input语句用于输入。有两方面:读入外部数据文件中的数据和读入CARDS语句后面的数据。6.7 INPUT语句中的、$、:、&、的作用是什么? 答: 执行下一个INPUT语句时指针移到下一记录行,要求一条记录必须对应一个数据行。: 执行下一个INPUT语句时指针保持在当前记录行,不要求一条记录对应一个数据行。$: 定义字符型变量。:当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度就必须用到该格式修饰符。规定变量值是从非空格列中读取,直到第一次遇到以下3种情况:下一个空格列;达到变量预先设定的长度;数据行结束。&:字符型输入值可能包含一个或几个空格。因为空格是列表读入方式默认的分隔符,所以如果要读入的数据本身包括空格时就必须用此格式符。:规定读入字符值时保留引号。此选项只在INFILE语句中与选项DSD一起使用时才有效。 6.8 解释语句:input (g1-g5) (3*7.2, 2*5.2); /*前三个变量g1-g3的格式为7.2,后两个变量格式为5.2*/input (a b) ($,5.); /* a的格式是$,b的格式是5.*/input (a b) ($5.); /* a, b使用相同的格式$5.*/input id $ 1-6 name $7-20 age; /* 规定记录行的第1行到第6行为变量id的输入值,第7行到第20 行为变量name的输入值,21列为变量age的输入值*/6.9 说明CARDS语句与CARDS4语句的用法。答:CARDS语句或DATALINES语句告诉SAS系统下面跟着的是数据行。data; input var1 var2 var3$;cards;16 20 First;run;数据行之前用CARDS语句。如:data; input var1$ var2$ var3$;cards4;A ; B ( ; );run;如果数据行中含有分号时,必须用CARDS4或DATALINES4语句。如:6.10 怎样用INPUT语句读入带空格的字符值和带引号的字符值?答:用“&“读入带空格的字符值,如:data;input name &$12. age;cards;Jin Lei 22 /* 因&的特性,数据之间应该用两个以上的空格隔开 */Annie Zheng 31I. Altman 60;run;data topics2;infile datalines dsd;input speakers $15. title$40. location &$10.;datalines;Song,Credit Derivatives,Room 329Zhu,Credit Risk Management,Room 406;proc print;run;用“”读入带引号的字符值,如:6.14 解释BY组中自动变量first. variable和last. variable的含义。答:SAS系统对每个BY组创建两个自动变量:First.variable和Last.variable,用来标识每个BY组的第一个和最后一个观测。对于一个BY组的第一个观测值,First.variable取1,其余取0. 对于一个BY组的最后一个观测值,Last.variable取1,其余取0. 这些变量不含在新产生的数据集中。6.15 SET语句的作用是什么?答:SET语句从一个或多个已存在的SAS数据集中读取观测值,并将这些观测组合在一个数据集中。data a;set Resdat.class;obs=_n_;run;6.17 解释系统自动变量_n_的作用。答:_n_表明的是观测序号,如:结果是在数据集a中每个观测值后加了一列观测序号,标签是obs。6.18 如何使用一个变量得到数据集的观测个数?data a;a=nobs;set ResDat.stk000001 nobs=nobs;if _n_ =a;run;答:6.19 如何找到数据集的最后的一个观测值?data a;set ResDat.stk000001 end=obs_last;if obs_last=1;run;答:6.23 MERGE语句的作用是什么?答:MERGE语句将多个数据集中的观测合并为新数据集中的一个观测。SAS系统合并观测的方式依赖于BY语句的使用。6.24 举例说明MODIFY语句的用途。data stock;modify stock;recdate=today(); /* 将所有观测的recdate改为今天 */run;答:MODIFY语句扩充了DATA不功能,它可以替代、删除、或添加观测到一个已存在的SAS数据集上。举例如右:6.25 FILE语句一般要和PUT语句配合使用,举例说明FILE语句的作用。答:FILE语句用于规定将要输出的外部文件。FILE语句一般要和PUT语句配合使用。同一个DATA步可以用多个FILE语句。FILE语句是可执行语句,因而可以用在条件(IF-THEN)过程中。举例如下:data a;file print filename=Jinlei; /* 输出到OUTPUT窗口,put语句打开的文件名为print */put hello; /* OUTPUT窗口将输出hello */name=Jinlei; /* 数据集a中有一个变量name和一个观测值print */run;6.26 INFILE语句一般要和INPUT语句配合使用,举例说明INFILE语句的作用。答:INFILE语句用来定义一个外部数据文件,文件中的数据用INPUT语句读取。外部数据文件可以是已存在的磁盘文件,也可以是从键盘上输入的数据行。data a;infile cards delimiter=,;input x y z;cards;3,6,91,3,58,8,8;run;举例如下:6.27 举例说明INFILE语句中dsd、missover选项的作用。答:dsd:规定若一个数据由引号括起,则SAS认为其包含的逗号是字符数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论