楼主: crackman
2701 2

[原创博文] 跟crakman做sas base认证试题(25) [推广有奖]

院士

83%

还不是VIP/贵宾

-

威望
6
论坛币
91908 个
通用积分
23.3245
学术水平
424 点
热心指数
505 点
信用等级
256 点
经验
113002 点
帖子
2948
精华
0
在线时间
2529 小时
注册时间
2007-4-26
最后登录
2024-4-23

初级热心勋章 中级热心勋章 初级学术勋章 初级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
25.Given the following code:

proc print data=SASHELP.CLASS(firstobs=5 obs=15);
    where Sex='M';
run;

How many observations will be displayed?

     A. 11
     B. 15
     C. 10 or fewer
     D. 11 or fewer

Answer: D
本文属于博客:http://crackman.net/
版权归作者所有,欢迎转载!如有转载,请务必注明出处!未经本文作者同意不得用于商业应用。
本题考察的是firstobs以及obs两个参数的作用。
FIRSTOBS:确定读取观测的起始序列号,obs是确定读取观测终止时的序列号。也就是从第五个观测开始,到第15个观测时结束。
从第5和第15之间的数据有11个,第五和第十五的观测序号根据where的筛选后的数据集来确定的,例如,所以答案为D。
看看外文文献的解释:
Use the FIRSTOBS= and OBS= options together to process a set of observations from the middle of a data set. For example, this statement processes only observations 1000 through 1100:
options firstobs=1000 obs=1100;

感谢POBEL的补充!
二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base CRA Man observations following 序列号 where 认证 版权

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
pobel + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
pobel 在职认证  发表于 2010-11-11 16:27:10 |只看作者 |坛友微信交流群
支持Crackman版主,个人补充一点:

这个题还有一点需要注意,where语句是先执行的,firstobs= 和obs= 是作用在where语句的结果集上的(如本例的sex=“M”)。
而不是先找出数据集中的第5条至第15条记录,然后从这11条记录中找sex=“M”的。

例如:

输出sashelp.class的第2-5条记录,只有1条记录的sex="M"。

proc print data=sashelp.class(firstobs=2 obs=5);
run;

/**output;
Obs     Name      Sex    Age    Height    Weight
  2    Alice       F      13     56.5       84.0
  3    Barbara     F      13     65.3       98.0
  4    Carol       F      14     62.8      102.5
  5    Henry       M      14     63.5      102.5
*/


加上where语句后仍然会输出4条记录,而不是1条。

proc print data=sashelp.class(firstobs=2 obs=5);
  where sex="M";
run;

/*output
Obs    Name       Sex    Age    Height    Weight
   5    Henry       M      14     63.5      102.5
   6    James       M      12     57.3       83.0
   9    Jeffrey     M      13     62.5       84.0
  10    John        M      12     59.0       99.5
*/


题目中的选项D. 11 or fewer)中,fewer的情况只有在数据集中满足where条件的记录数小于obs=选项指定的数(本例15)时才会出现。
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
peijiamei + 3 + 3 好的意见建议
soporaeternus + 1 + 1 + 1 我很赞同

总评分: 学术水平 + 4  热心指数 + 4  信用等级 + 1   查看全部评分

和谐拯救危机

使用道具

藤椅
crackman 发表于 2010-11-11 17:14:05 |只看作者 |坛友微信交流群
谢谢probel的补充!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-5 06:22