楼主: machenyang
1802 3

[注意]帮下忙 谢谢 [推广有奖]

  • 0关注
  • 0粉丝

小学生

28%

还不是VIP/贵宾

-

威望
0
论坛币
44 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
100 点
帖子
5
精华
0
在线时间
0 小时
注册时间
2008-10-10
最后登录
2009-12-8

楼主
machenyang 发表于 2008-10-10 08:47:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

现有一个数据流: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程序

二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 sas程序 Input 数据流 数据集 数据流 程序

回帖推荐

PharmD 发表于3楼  查看完整内容

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 ...

本帖被以下文库推荐

沙发
lili83xu 发表于 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;                                                                                                                                   
                                                                                                                                       
      

藤椅
PharmD 发表于 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编辑过]

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

板凳
machenyang 发表于 2008-10-11 17:00:00
数据流为a 2 b 3 c d 4 6引用cards语句时不能改动

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 23:36