全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1779 0
2010-11-12
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

Answer: C
本文属于博客:http://crackman.net/
版权归作者所有,欢迎转载!如有转载,请务必注明出处!未经本文作者同意不得用于商业应用。
这里考察的还是INPUT语句读入数据时的换行问题。
INPUT语句在读入数据行时,根据PDV中的变量,依次读入数据,如果该数据行数据小于变量数,换行继续读入数据到PDV中。如果数据行太长,超过了变量数,那么也会自动换到下一个数据行。所以,读取的数据应该是如下过程:
第一次:
Fname    Sport1        Sport2    Sport3
Kim      Basketball    Golf      Tennis
此时换行到第二行了,也就是“Bill,Football”
第二次:
Fname    Sport1        Sport2    Sport3
Bill     Football
此时SPORT2和SPORT3是没有了,就换行到第三行 “Tracy,Soccer,Track ”
将Tracy Soccer 放在sport2和sport3中。
等于第二次的时候:PDV中的第二个观测是:
Fname    Sport1        Sport2    Sport3
Bill     Football      Tracy     Soccer
继续换行,但是已经到最后了,所以就只有输出两行观测了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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