SAS编程技术课后习题总结.docx
- 文档编号:16269276
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:41
- 大小:76.23KB
SAS编程技术课后习题总结.docx
《SAS编程技术课后习题总结.docx》由会员分享,可在线阅读,更多相关《SAS编程技术课后习题总结.docx(41页珍藏版)》请在冰点文库上搜索。
SAS编程技术课后习题总结
第一章
1.缺省状况下,快捷键F1,F3,F4,F5,F6,F7,F8,F9和Ctrl+E的作用是什么?
F1帮助,F3end,F4recall调回提交的代码,F5激活编写器窗口,F6激活日志窗口,F7键激活输出窗口,F8提交,F9键查察全部功能键功能,Ctrl+E键消除窗口内容。
2.缺省状况下SAS系统的五个功能窗口及各自的作用是什么?
如何定义激活这
些窗口的快捷键?
1)资源管理器窗口。
作用:
接见数据的中心地点。
2)结果窗口。
作用:
对
程序的输出结果进行阅读和管理。
3)加强型编写器窗口。
作用:
比一般编写窗
口增添了一些功能,如定义缩写,显示行号,对程序段实现睁开和缩短等。
4)
日志窗口。
作用:
查察程序运转信息。
5)输出窗口。
查察SAS程序的输出结果。
3.如何增添和删除SAS工具?
使用菜单栏中的工具=>定制=>“定制”标签实现工具的增添和删除。
4.SAS日志窗口的信息构成。
提交的程序语句;系统信息和错误;程序运转速度和时间。
5.在显示管理系统下,切换窗口和达成各样特定的功能等,有四种公布命令的方式:
即,在命令框直接键入命令;使用下拉菜单;使用工具栏;按功能键。
试举例说明这些用法。
如提走运转的命令。
程序写完后,按F3键或F8键提交程序,或单击工具条中的提交按纽,或在命令框中输入submit命令,或使用菜单栏中的运转下的提交,这样所提交的程序就会被运转。
6.用菜单方式新建一个SAS逻辑库。
在菜单栏选择工具—》新建逻辑库出现如下图界面。
在名称中输入新的逻辑库名称。
在引擎中依据数据根源选择不一样的引擎,假如不过想成立本机地点上的一个一般的SAS数据集数据库,能够选择默认。
然
后选中“启动时启用”复选框,在逻辑库信息中,单击路径后的“阅读”按钮,
选择窗口能够不填,单击确立产生一个新的逻辑库。
7.说明下边SAS命令的用途并举例:
keys,dlglib,libname,dir,var,
options,submit,recall.
Keys激活功能键的设定窗口。
libname成立SAS逻辑库。
Submit提交。
Options设定一个或多个系统选项,任何系统选项都有一个默认设置。
8.用菜单方式导入(Import)和导出SAS数据集(Export)。
文件->导入数据
出现上图对话框,选摘要导入数据种类,而后NEXT。
阅读要导入数据的地点。
点击OK。
出现上图对话框,而后点击NEXT。
选择数据库寄存的地点并命名。
第二次作业
1.构成SAS程序的语句分别分为哪两大类?
什么是SAS语句?
举例说明SAS语句的信息构
成。
数据步、过程步
SAS语句就是一系列重点词、SAS名称、算符以及特别字符的组合。
2.简述
SAS名的种类及命名规则。
什么是
SAS重点词?
SAS名的种类:
1逻辑库名;
2数据集名;
3变量名;
4格式名;
5过程名;
6数组名;
7语
句标号名;
8特别文件名;
9其余名。
SAS名称一定以字母或下划线开头;
SAS名称能够包含字母、数字和下划线;
SAS名称依照
其使用的场合有必定长度限制。
3.SAS变量的种类和属性。
举例说明
SAS自动变量。
数值变量
数值变量是SAS系统以浮点(floating-point)方式储存的数据变量,数
值变量包含日期和时间。
数值变量的值只好是数值。
字符变量
字符变量能够由阿拉伯字母、数字0-9以及其余一些特别字符构成。
字符变量的值能够是字符、字母、特别字符和数值。
字符变量名后跟
一个美元号($)表示该变量是字符型而不是数值型。
2)变量属性
SAS变量的属性包含:
长度、输入输出格式和标签。
未设定属性的变量在它们第一次出现时
由系统给出。
4.给一个简单的
SAS程序的例子,适合应用
SAS的说明语句。
dataa;
/*data
为重点词,
a为
SAS名*/
x=12345.1234;
informatx12.4;
/*输入语句,保存
12字节和
4位小数
*/
formatx8.2;
/*输出语句,保存
8字节和
2位小数
*/
putx=;
run;
5.SAS数据集中变量链表时,X1~Xn表示什么?
特别SAS变量列表_numerie_,_character_
和_all_的含义。
X1~Xn从X1到Xn的全部变量
_numerie_全部数值变量
_character_全部字符变量
_all_全部变量
6.如何提交SAS程序?
简述程序履行过程中,LOG窗口显示的信息构造。
8.简述SAS表达式定义及其构造构成元素。
表达式由一系列操作符和操作对象构成,产生一个目标值。
使用表达式能够对变量作变换和赋值,创立新变量,计算新数值以及控制条件语句的运转等。
包含操作对象和操作符
9.构成SAS表达式的操作对象和操作符有哪些?
操作对象有:
变量;常数
操作符包含:
算术算符;比较算符;逻辑算符;SAS函数;括号
11.举例说明数值经常数、字符常数和日期时间常数的表达方法。
引用数值格式
例:
标准格式:
1,01,+1,-1,1.1;
科学计数法:
1.1e11,1.2e-12;
十六进制格式:
1cx,12x,9x
字符常数往常由单引号括起来的1~32767个字符构成。
假如字符常数内含有引号,引用时,
要么它的引号用两个连续的单引号,要么用一个双引号。
例:
name=”TOM’S”
引用日期时间常数,格式值带引号,后边跟一个D(日期)、T(时间)、或DT(日期时间)
例:
’ljan2000’d
16.简述数据步的功能。
1)创立SAS数据集(SAS数据文件或SAS数据视图);
2)读取外面数据文件创立SAS数据集;
3)经过对现有SAS数据集取子集、归并、改正和更新创立新的SAS数据集;
4)剖析、操作或展现数据;
5)创立新变量;
6)产生报告、或将文件储存到硬盘或磁带上;
7)提守信息;
8)文件管理。
第三次作业
data
A;
infile
cards;
input
Fee@@;
cards
;
35789936792123908790
33556612981100
;
run;
第四次作业
1、
dataa;
inputx;
y=y*x;
retainy1;
cards;
1
2
3
4
8
16
;
procprint;
run;
2、
data
b;
input
stkcd$rdate
yymmdd10.lstknm$var1var2var3;
cards
;
;
run
;
data
c;
format
stkcdlstknm
rdatevar3var2var1;
set
b;
run
;
3、
data
a;
input
dateprice;
cards
;
12
23
23
52
11
21
;
data
b;
input
dateprice;
cards
;
12
55
5521
689
;
proc
sort
data
=a;
/*排序*/
by
date;
run
;
proc
sort
data
=b;
by
date;
run
;
data
c;
set
ab;
by
date;
proc
noobs;
run
;
4、
data
a;
input
logdate
$10.;
cards
;
2011-12-2
2012-8-6
2012-8-10
;
run;
datab;
seta(rename=(logdate=date));
date=input(date,yymmdd10.);
labeldate='日期';
run;
5、
自动变量是由数据步语句自动创立的,这些自动变量不输出到数据集中,在重复
过程中被保存。
6、创立组表记变量GROUP,将数据集A中的观察平分为10组,观察值不可以整除
10时,前余数组各多加一个观察值
data
a;
set
resdat.treatnobs=nobs;x=(nobs-mod(nobs,
10))/10;
call
symput(
'nobs'
nobs);
call
symput(
'groupn'
x);
Call
symput(
'mod'
mod(nobs,
10));
Drop
x;
run
;
%put
&nobs&groupn;
data
b;
do
i=
1
to
&mod
do
_n_=
1
to
&groupn+
1;
group=i;
output
;
end;
end;
doi=&mod+1to10;
do_n_=1to&groupn;
group=i;
output
;
end;
end;
Drop
i;
run
;
data
c;
mergeab;
proc
sort
data=c;
by
group;
run
;
7、现有一个数据流:
a2b3cd46,按下边要求创立
SAS数据集。
用语句
inputid$no;
变
量
id
取值上边数据流里的
a,b,c,d,变量
no取值
2,3,4,6。
可是这个数据流存在问题:
若有的
id
没有
no,有的
no没有
id。
创立
SAS
数据集,删除只有
id
没有
no或许只有
no没有
id
的
观察,即把上边的
c和
6去掉,最后获得三个观察,
a2,b3与
d4。
dataa;
inputt$@@;
cards;
a2b3cd46
;
run;
datab;
seta;
id=lag(t);
no=t;
if'a'<=id<='z'and'0'<=no<='9';
dropt;
run;
8、现有一个数据流:
a23223bc4363c511d400620,按下边要求创立SAS数据集。
用语
句inputid$no;
变量id取值上边数据流里的
a23,bc4,11d,变量no取值233,36,400。
但
是这个数据流存在问题:
若有的
id没有no,有的no没有id。
创立SAS数据集,删除只有
id没有no或许只有no没有id的观察,即把上边的
3c5和620去掉,最后获得三个观察:
a23
223
bc4
36
11d
400
data
a(keep=idno);
input
x$@@;
id=lag(x);
no=input(x,
8.
);
y=lag(no);
ify='.'
andid^=''andno^='.';
cards
;
a23223bc4363c511d400620
;
run;
第五次作业
1.创立一包含10000个变量(X1-X10000),100个观察值的SAS数据集。
分别用DATA步,
DATA步数组语句和IML过程实现。
datatest1a;
informat
x1-x10000
9.2;
doi=1to100;
output;
dropi;
end;
run;
2.多种方法创立包含变量X的10000个观察值的SAS数据集。
3.
数据集A中日期变量DATE包含出缺失值,创立包含日期变量
DATE的数据集B,并填
充开始到结束日之间的全部日期值。
proc
iml
;
x={
'date'
price};
t={
1111
2,23412,21323,12345,123456,34566,6753
4,23457,21349};
t;
t[
1,
1]=
.;
t[
2,
1]=
.;
t[
5,
1]=
.;
t[
9,
1]=
.;
create
afromt[colname=x];/
appendfromt;
show
datasets;
show
contents;
close
a;
run;
quit
;
data
a;
set
a;
format
date
yymmdd8.2
;
run;
data
a1;
set
a
n=_n_;
format
date
yymmdd8.2
;
retain
temp;
if
date^=
.
then
temp=date;
else
date=temp;
run;
data
a2;
n=_n_;
set
a1;
run;
proc
sort
data
=a2;
by
descending
n;
set
a2
dropntemp;
run;
data
a4
seta3;
retain
temp;
ifdate^=.
thentemp=date;
else
date=temp;
run
;
data
a4;
n=_n_;
set
a4;
run
;
proc
sort
data
=a4out=b(drop=ntemp);
by
descending
n;
run
;
4.利用随机数函数RANUNI对某数据集设计返回抽样方案。
datasample(drop=samplesizen);
samplesize=5;
don=1tosamplesize;
readit=ceil(ranuni(0)*totobs);
putreadit=;
setbb.classpoint=readitnobs=totobs;
output;
end;
stop;
run;
5.利用随机数函数RANUNI对某数据集设计不返回抽样方案。
data
set
keep
a;
bb.class;
name;
run;
datab;
setanobs=nobs;
ran=ceil(nobs*ranuni
(1));
putran=;
run;
procsort
data
=b;
byran;
datac;
setb;
if_n_<=
15;
run;
6.给下段程序的主要语句加说明。
STOP语句可否删除?
为何?
不可以删除。
强迫结束数据步,由于set语句在数据步程序中会频频履行数据步的程序直到碰到文件结束
(最后一跳观察)的标记,这里使用了指针选项可能碰不到这类标记,因此要用stop,不然
就有可能无休止地履行下去。
7.SAS系统显示表达式、函数、数据集、数组或矩阵的详细值时,常需要哪些语句和过程?
put;procprintprintshowlist;
第六次作业
2.SAS函数的自变量有几类?
自变量种类:
变量名、常数、函数、表达式。
3.举例说明自变量的表示方法和缩写规则。
当函数有多个自变量时,一定用逗号分分开。
自变量名缩写方法:
函数名(OF变量名1-变量名n);函数名(OF变量名1变
量名n)。
7.SAS系统是如何存贮日期时间的?
SAS日期时间存贮标准是什么?
SAS日期和时间储存标准是以1960年1月1号0时0分0秒为起点,而后以相应的间隔记时。
如1960年1月1日9时0分,按日志的数值就是0,按小时记的数值就是9。
1960年1月2日0时0分,按日志的数值就是1,按小时记的数值就是24。
9.分别说明天期时间函数datdif,yrdif,date(),datetime,mdy,dhms有哪
些实质用途。
DATADIF(sdate,edate,basis)返回两个日期之间的天数。
YRDIF(sdate,edate,basis)返回两个日期之间的年数。
DATA()返回目前日期的SAS日期值。
DATETIME()返回目前日期和时间。
MDY(month,day,year)返回由年、月和日定义的SAS日期值。
DHMS(date,hour,minute,second)返回由日期、小时、分钟和秒构成的SAS日期时间值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 编程 技术 课后 习题 总结
![提示](https://static.bingdoc.com/images/bang_tan.gif)