全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2917 4
2009-06-30
初学SAS,比较基础的问题。为啥要选B,麻烦解释下当level=4时候,if--then, else if 组怎么运行的。谢谢!

A SAS PRINT procedure output of the WORK.LEVELS data set is listed below:
Obsname level
1 Frank 1
2 Joan 2
3 Sui 2
4 Jose 3
5 Burt 4
6 Kelly .
7 Juan 1
The following SAS program is submitted:
data work . expertise;
set work. levels;
if level = . then
expertise = 'Unknown';
else if level = 1 then
expertise = 'Low';
else if level = 2 or 3 then
expertise =' Medium';
else
expertise = 'High';
run;
Which of the following values does the variable EXPERTISE contain?
A. Low, Medium, and High only
B. Low, Medium, and Unknown only
C. Low, Medium, High, and Unknown only
D. Low, Medium, High, Unknown, and ' ' (missing character value)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-6-30 04:57:46
Question 111
"if level = 2 or 3"means "if level = 2 or if 3". 非0的数字就代表True. 在这里,判断总是为True,因为3是大于1的。所以 除了 level = .和level = 1以外,所有level都会让expertise =' Medium'。"else expertise = 'High';" 不会执行.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-6-30 05:37:29
yiyuanfushi 发表于 2009-6-30 04:57
Question 111
"if level = 2 or 3"means "if level = 2 or if 3". 非0的数字就代表True. 在这里,判断总是为True,因为3是大于1的。所以 除了 level = .和level = 1以外,所有level都会让expertise =' Medium'。"else expertise = 'High';" 不会执行.
2楼说得对,这道题目的考点在于"else if level = 2 or 3  then  expertise =' Medium';"这条语句,为了图省事,把“if level = 2 or level = 3”给错写成了“if level = 2 or 3”,逻辑关系就完全变化了,逻辑分支走到这里永远为真就自动退出了,而“else  expertise = 'High';”这一句永远也不会被执行。

你可以拷贝下面的Code,修改“else if level = 2 or 3  then  expertise =' Medium';”为“else if level = 2 or level = 3  then  expertise =' Medium';”看看结果有什么不同。

Data levels;
input Obs name $ level;
datalines;
1 Frank 1
2 Joan 2
3 Sui 2
4 Jose 3
5 Burt 4
6 Kelly .
7 Juan 1
;
run;
data expertise;
set levels;
if level = . then  expertise = 'Unknown';
else if level = 1 then  expertise = 'Low';
else if level = 2 or 3  then  expertise =' Medium';
else  expertise = 'High';
run;
proc print data = expertise;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-3 02:11:51
2# yiyuanfushi

非常感谢!这种问法确实比较迷惑人。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-3 02:12:19
3# sascylindrical

好的 谢谢!我试一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群