楼主: liuliuqiu
1248 8

sas程序请教 [推广有奖]

  • 6关注
  • 2粉丝

已卖:35份资源

副教授

64%

还不是VIP/贵宾

-

威望
0
论坛币
2239 个
通用积分
8.1161
学术水平
3 点
热心指数
5 点
信用等级
5 点
经验
14393 点
帖子
429
精华
0
在线时间
1129 小时
注册时间
2009-3-24
最后登录
2025-12-11

楼主
liuliuqiu 发表于 2014-11-19 16:34:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教:
      a,b两个表,含有相同的变量code,此外,a中含有 a1 a2 a3变量,想得到的结果是,如果a中的code值没在b中出现过,则a中的a1 a2 a3赋值为0.
     例如:a    code      a1    a2   a3                   b   code
                       451          .       .        .              312   .
                       254           .      .        .               451  .
                      312            .       .       .
                       789          .        .       .
最后得到表c    code      a1    a2   a3  
                        254       0       0     0
                         789      0        0     0
请各位帮帮忙,十分感谢!
二维码

扫码加我 拉你入群

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

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

关键词:sas程序 请各位帮帮忙 code ODE COD 程序

沙发
liuliuqiu 发表于 2014-11-19 17:21:54
着急呀,在线等

藤椅
luijb 在职认证  发表于 2014-11-19 18:07:53
data raw1;
input code   a1    a2   a3;
cards;
451  .  . .
254  .  . .
312  .  . .
789  .  . .
;
data raw2;
input code;
cards;
312
451
;
run;

proc sort data=raw1;
by code;
proc sort data=raw2;
by code;
run;

data raw;
merge raw1(in=a) raw2(in=b);
if a then do;
a1=0;a2=0;a3=0;
end;
if not b;
run;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
liuliuqiu + 2 + 2 + 2 + 2 热心帮助其他会员

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

板凳
liuliuqiu 发表于 2014-11-19 18:20:19
luijb 发表于 2014-11-19 18:07
data raw1;
input code   a1    a2   a3;
cards;
非常感谢,我还想请教一个问题,
有表a,变量有code   year  number
code   year      number
1       2000        1
1        2001        0
1        2002        2
1       .....
  1         2010       0
  2        2000       0
...
2          2010      1
year是从2000到2010,想生成sumnumber,为以前年份number之和。
如个体1,2000年sumnumber缺失,2001年sumnumber为1(1),2002年sumnumber为1(1+0),2003年sumnumber为3(1+0+2),以此类推。
添麻烦了,感谢

报纸
luijb 在职认证  发表于 2014-11-19 19:18:26
有表a,变量有code   year  number
code   year      number
1       2000        1
1        2001        0
1        2002        2
1       .....
  1         2010       0
  2        2000       0
...
2          2010      1
year是从2000到2010,想生成sumnumber,为以前年份number之和。
如个体1,2000年sumnumber缺失,2001年sumnumber为1(1),2002年sumnumber为1(1+0),2003年sumnumber为3(1+0+2),以此类推。

个体1 2000的sumnuber 为什么缺失呢 第一行 number 不是 1 吗?

地板
liuliuqiu 发表于 2014-11-19 19:27:14
luijb 发表于 2014-11-19 19:18
有表a,变量有code   year  number
code   year      number
1       2000        1
生成的变量是以前年份的加总,2000年的话应该看2000年前的数据,如1999等,所以缺失。

7
liuliuqiu 发表于 2014-11-19 20:18:49
luijb 发表于 2014-11-19 19:18
有表a,变量有code   year  number
code   year      number
1       2000        1
不好意思,能帮我看看如何写这个程序吗?

8
苹果叶 在职认证  发表于 2014-11-19 23:57:01
  1. data test;
  2.   set sashelp.class;
  3.   age1=lag(age);
  4.   if _n_=1 then sum=0;
  5.   else sum+age1;
  6. run;
复制代码


可以参考看看

9
teqel 发表于 2014-11-22 06:22:29
liuliuqiu 发表于 2014-11-19 20:18
不好意思,能帮我看看如何写这个程序吗?
data raw2;
        input code;
        cards;
312
451
;
run;

proc sql;
        create table aa as
                select *
                        from raw1
                                except
                        select *
                                from raw2;
quit;

data bb;
set aa;
a1=0;a2=0;a3=0;
run;

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

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