作者x1234567 (莫急莫荒莫害怕)
站内Statistics
标题Re: [讨论] 请问这个语法哪里有问题
时间Tue Jul 27 22:08:13 2010
※ 引述《startend (Pride & Prejudice)》之铭言:
: 因为最近开始使用SAS,顺便考SAS BASE
: 不过太久没碰的下场就是好多东西都忘记了....
: 想请问以下几个题目,希望强者能够提供一些见解(跪)
: 1.
: data work.test;
: capacity = 150;
: if 100 le capacity le 200 then airplanetype = 'large' and staff = 10;
/*if 100 ge capacity le 200 .....比较像*/
: else airplanetype = 'small' and staff = 5;
: run;
: 题目希望data set 长成如下,上面这个是错的,只是我不确定错在哪里
: capacity airplanetype staff
: 150 large 10
: 就题目而言,是因为else 少了一个if吗?
: 另外就是if-then的语法里面,如果有假设三个if-then的时候
: 一般都是打成if-then
: else if-then
: else (最後这个就不用加上?)
: 2.submit following
: libname sasdata ' '
: data allobs;
: set sasdata.banks;
: capital = 0;
: do year = 2000 to 2020 by 5;
: capital+((capital+2000)*rate);
: output;
/*sasdata.bank的每一笔都会做五次这个动作,所以allobs就有25笔*/
: end;
: run;
: if sasdata.banks has five observation,how many observations will the ALLOBS
: contain? Ans:25
: 这个我就掉到五里雾里面了....
: 另外一个疑问是,output的使用时机,虽然讲义上面是写prevent continuous looping,
: 但感觉有一点抽象,另外是不是用了output,後面一定要用stop; ?
: 3.submit following
: data work.XXX
: set work.people (in = inemp)
: work.money (in = insal);
: if insal = inemp;
/*work.XXX是由work.people跟work.money垂直叠起来*/
/*in=inemp表示若此笔是由work.people来的话 inemp就会是1否则为0, insal同理 */
/*因此每一笔不是从 work.people 就是从 work.money来的*/
/*即 每一笔的 inemp 与 insal 不是 1跟0 就是 0跟1 不会有 insal=inemp*/
: run;
: work.people has 5 observations, and work.money has 7 observations
: How many obs contain in work.XXXX? Ans: 0
: 因为这应该是一个concatenating,为什麽不是12个 obs?
: 4.
: 在从外部抓资料的时候
: input style $ @;
: style是一个variable的名字,但後面的@代表什麽意义?
: 因为我看到的都是input @4 style $2.;类似这种的,但@在後面的有特别意义吗?
/*sorry 目前没有SAS可用, 请查help 印象中好像是不用换行直接读资料*/
: 5.
: data work.total;
: infile where end = eof;
: input name $ salary;
: total + salary;
: (if statement)
: run;
/*个人觉得where是个档案名,陷阱*/
/*end=eof 表示用eof这个栏位来存取这一笔是否为最後一笔(eof=1),也可取别的名称*/
/*if eof=1;是 if eof=1 then output;的缩写,也可写成 if eof;*/
: which statement would write the last observation to the output data set?
: Ans: if eof = 1;
: 不太了解题意,最後想问一下if如果再没有then的搭配下,跟where statement有什麽
: 差别呢?
: 我想对大家来说这些都是很简单的问题,还请大家不赐吝教,感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.226.47
1F:→ x1234567:第一题我答错了..该改成 then do; ... end; 07/28 12:49
2F:→ x1234567:原本有人有回正确的...现在不见了 07/28 12:50