全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6245 4
2013-02-20

Q 67

Consider the following data step:

  data WORK.NEW;

     set WORK.OLD(keep=X);

     if X < 10 then X=1;

     else if X >= 10 AND X LT 20 then X=2;

     else X=3;

  run;

In filtering the values of the variable X in data set WORK.OLD, what value new value would be assigned to X if its original value was a missing value?

A. X would get a value of 1.

B. X would get a value of 3.

C. X would retain its original value of missing.

D. This step does not run because of syntax errors.

答案:A

为什么X的值是1?

二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-20 12:01:15
SAS中缺失值是小于任何一个值的。
此题中,如果x是缺失值,那么x<10 成立,因此选A。

不过缺失值有多种表示方法,如., ._, .A, .B, 等等。而且这些缺失值是有大小顺序的。
如果用missing()函数判断,那么这些值都是缺失的。
如果用“if x=. then ...”判断,则只有 . 这个值是满足条件的。

data test;
    verysmall=-9999999;
        miss_dot=.;
        miss_a=.A;
        miss_n=.N;
    miss_z=.Z;
        miss__=._;

        if miss__ < miss_dot then put "._ < .";
        if miss_dot < miss_a then put ". < .A";
        if miss_a < miss_n then put ".A < .N";
        if miss_n < miss_z then put ".N < .Z";
        if miss_z < verysmall then put ".Z < verysmall";
run;
二维码

扫码加我 拉你入群

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

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

2013-2-20 13:22:23
二维码

扫码加我 拉你入群

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

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

2013-2-20 18:57:03
二维码

扫码加我 拉你入群

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

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

2013-2-23 04:27:15
一定要记住,今天考试就有它
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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