全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5372 7
2016-10-19
悬赏 4 个论坛币 未解决
请教各位以下SAS考试题目的思路,为什么是对应的答案?论坛币不多,一点心意,请不吝赐教。谢谢!!

29.The following SAS program is sumbitted:     


data WORK.INFO;
infile 'DATAFILE.TXT';      
input @1 Company $20. @25 State $2. @;      
if State=' ' then input @30 Year;      else input @30 City Year;      
input NumEmployees;   
run;   
How many raw data records are read during each iteration of the DATA step?

     A. 1       B. 2       C. 3       D. 4  

29,B为何是答案?


31. Given the following raw data records in DATAFILE.TXT:     
----|----10---|----20---|----30
Kim,Basketball,Golf,Tennis   
Bill,Football   
Tracy,Soccer,Track   

The following program is submitted:     
data WORK.SPORTS_INFO;      
length Fname Sport1-Sport3 $ 10;      
infile 'DATAFILE.TXT' dlm=',';      
input Fname $ Sport1 $ Sport2 $ Sport3 $;   
run;     
proc print data=WORK.SPORTS_INFO;   
run;   
Which output is correct based on the submitted program?
     
A.  Obs    Fname    Sport1        Sport2    Sport3   
      1     Kim      Basketball    Golf      Tennis  
      2     Bill     Football  
      3     Tracy    Soccer        Track        
B.  Obs    Fname    Sport1        Sport2    Sport3   
      1     Kim      Basketball    Golf      Tennis  
      2     Bill     Football      Football  Football   
      3     Tracy    Soccer        Track     Track        
C.  Obs    Fname    Sport1        Sport2    Sport3   
      1     Kim      Basketball    Golf      Tennis  
       2     Bill     Football      Tracy     Soccer        
D.  Obs    Fname    Sport1        Sport2    Sport3   
       1     Kim      Basketball    Golf      Tennis  
        2     Bill     Football   

31,答案是C,为何不是A?


42.The following SAS program is submitted:     
data WORK.ONE;      
Text='Australia, US, Denmark';      
Pos=find(Text,'US','i',5);
run;   
What value will SAS assign to Pos?  

     A. 0      B. 1      C. 2      D. 12

42,答案是D,为何?




72题
72,为何选D,而非B?

73题
73,为何是D?

76题
76,为何不是A?

81题
81,为何不是C?

87题
87,为何不是C?

95题
95,为何不是A?
二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-20 09:37:32
29、31 仔细读一下编码,看一下数据结构很清楚的
42:答案是D
因为:pos返回的值是12,Pos=find(Text,'US','i',5),是要从第5个字符起找出US在源字符串Australia, US, Denmark中的起始位置,并且忽略大小写。find函数中四个参数,Text不用说,代表源字符串,如果直接引用的话需要用引号括起来;US,代表将要查找的字符,加引号;i,在这里表示忽略大小写;5,表示从第5个字符开始查找;换几个参数再看看结果;
Pos=find(Text,'uS','i',5); 结果12,因为有‘i’;
Pos=find(Text,'US      ','i',5);结果0,因为US后面有空格,而没有找到;
提醒,不管起始位置是多少,返回的位置数值始终是在源字符串中的位置。


二维码

扫码加我 拉你入群

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

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

2016-10-20 10:33:21

29.是因為將@至於input敘述句於句尾:表示保留此列的資料,使得下一格input敘述句仍能重複處理此一列的所有資料!
31.infile 裡如果不打其它指令 預設是FLOWOVER所以有缺項會往下讀取


42.

87.變數是:name.rate.capital.year
   觀察值只有一項,因為capital只輸出最後一個結果
  如果要都輸出end前要加output才會都輸出
  不然就只會出現最後一個值

95.我不記得有A這個用法

我只接觸一段時間
有錯歡迎指正

附件列表
Image 3.png

原图尺寸 5.95 KB

Image 3.png

Image 2.png

原图尺寸 4.27 KB

Image 2.png

二维码

扫码加我 拉你入群

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

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

2016-10-21 03:43:09
关于72:

City的长度由FIRST的长度决定,不是substr执行后得到的字符串的长度。也就是说city是16,不是7。
也就是说,City的值实际上是"Ipswich_________" (蓝色下划线代表9空)。
拼接时将保留这些空格:“Ipswich_________, England”   (注,England前有一个空,来自于拼接的第二部分(‘, ' 逗号,空格))。

这个蓝色下划线部分(9空格)在SAS数据集看的不是很明显,顶多像题目给出的,只能看出一个空(这就是答案D和B的区别),但可以在用put语句在log显示,很准确的,你可以试试。

你也可以用proc contents 来check各变量的长度。

这题的另外一个版本(即73)是问,city_country有多长:答案是:25  【16 (ipswich+9空)+ 2(逗号+1空) + 7 (england) = 25 】 。






二维码

扫码加我 拉你入群

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

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

2016-10-21 04:07:00
关于76:

正确答案应该是 C ,不是D。(D是老SAS版本的答案,现在认为是错的。按新SAS 9.4,答案是C )。

新的SAS认为,用scan的结果,给未定义的变量赋值时,该变量的长度由scan函数的第一个argument决定,不是以前老板本规定200,也就是这里的Author决定。author的长度是15。

"As of SAS 9.4, if the SCAN function returns a value to a variable that has not yet been given a length, that variable is given the length of the first argument".
话说回来,如果该题问的是first 的 value,答案是 A 。
二维码

扫码加我 拉你入群

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

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

2016-11-2 03:56:26
另外,关于
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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