全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1769 3
2008-10-10

现有一个数据流:a 2 b 3 c d 4 6,按下面要求创建SAS数据集。用语句input id $ no;  变量id取值上面数据流里的a,b,c,d,变量no取值2,3,4,6。但是这个数据流存在问题:如有的id没有no,有的no没有id。创建SAS数据集,删除只有id没有no或者只有no没有id的观测,即把上面的c和6去掉,最后得到三个观测:

a 2

b 3

d 4

请写出具体实现的SAS程序

二维码

扫码加我 拉你入群

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

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

全部回复
2008-10-11 00:23:00
data a;                                                                                                                                
input id $ no;                                                                                                                         
cards;                                                                                                                                 
a 2                                                                                                                                    
b 3                                                                                                                                    
c .                                                                                                                                    
d 4                                                                                                                                    
. 6                                                                                                                                    
;                                                                                                                                      
run;                                                                                                                                   
                                                                                                                                       
                                                                                                                                       
data b;                                                                                                                                
set a;                                                                                                                                 
if id=' ' or no=. then delete;                                                                                                         
run;                                                                                                                                   
proc print;                                                                                                                            
run;                                                                                                                                   
                                                                                                                                       
      
二维码

扫码加我 拉你入群

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

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

2008-10-11 02:29:00
data readin(keep=id no);
    DataAll = "a 2 b 3 c d 4 6"; /* LZ - Please use whatever way you like to import all your data into this one character variable */
    do i = 1 to length(DataAll) by 1;
    j = i+2;
    if j>length(DataAll) then leave;
    if ((substr(DataAll, i, 1) in ("a" "b" "c" "d" "e" "f" "g" "h" "I" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) and (substr(DataAll, j, 1) in ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))) then do;
        id = substr(DataAll, i, 1);
        no = input(substr(DataAll, j, 1), best12.);
        output;
    end;
    end;
run;

这是作业题还是什么?如果作业要求一定要用input id$ no来导入数据的话,那我的方法就不合要求了。如果是实际应用,我的方法是可以运行无误的。

[此贴子已经被作者于2008-10-11 2:35:52编辑过]

二维码

扫码加我 拉你入群

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

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

2008-10-11 17:00:00
数据流为a 2 b 3 c d 4 6引用cards语句时不能改动
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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