标题: SAS Base 考题请教 [打印本页] 作者: shiyiming 时间: 2008-8-24 22:18 标题: SAS Base 考题请教 SAS Base中有一题不明,请教各位高手:
A sas print procedure output of dataset A is listed below:
Obs Name Level
1 L 1
2 F 2
3 J 2
4 Y 3
5 W 4
6 P .
7 Q 1
the following program is submitted
data B;
set A;
if level='.' then expertise='unknown';
else if level=1 then expertise='low';
else if level=2 or 3 then expertise='middle';
else expertise='high';
run;
Q: which values does the variable expertise contain?作者: shiyiming 时间: 2008-9-5 13:40 标题: Re: SAS Base 考题请教 这一道题唯一可以迷惑人的地方就是第二个else if.
其实else if level = 2 or 3在实际执行中是永真的,相当于 else if 3 or level =2
如果要写level为2或者3应该用in语句。
所以段程序判断部分等同为
if level='.' then expertise='unknown';
else if level=1 then expertise='low';
else expertise='middle';