楼主: zhanguodian
1545 2

特急问大家一个问题,谢谢了 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1034份资源

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
2382 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
200 点
帖子
12
精华
0
在线时间
0 小时
注册时间
2007-3-31
最后登录
2012-4-8

楼主
zhanguodian 发表于 2008-6-2 13:01:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我现在的问题是,我有两个数列

对应时间: 2006 2005 2004 1998 1997 1996

数列A:     a1   a2   a3   a4   a5   a6

数列B:     b1   b2   b3   b4   b5   b6

我现在想算出数列C(t)=A(t)/B(t-1)

这样的话C(2004)就是没有数值的,我应该在SAS中编写怎样的程序才能实现这个想法呢?谢谢大家

二维码

扫码加我 拉你入群

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

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

关键词:程序

回帖推荐

lili83xu 发表于2楼  查看完整内容

data a;                                                                 &nb ...

本帖被以下文库推荐

沙发
lili83xu 发表于 2008-6-3 22:11:00
data a;                                                                                                                                
input t A B;                                                                                                                           
cards;                                                                                                                                 
2006 1 2                                                                                                                               
2005 2 3                                                                                                                               
2004 3 4                                                                                                                               
1998 5 6                                                                                                                               
1997 6 7                                                                                                                               
1996 7 8                                                                                                                               
;                                                                                                                                      
run;                                                                                                                                   
                                                                                                                                       
                                                                                                                                       
proc sort data=a;                                                                                                                      
 by t;                                                                                                                                 
run;                                                                                                                                   
                                                                                                                                       
                                                                                                                                       
data b (keep=t C) ;                                                                                                                    
        set a;                                                                                                                         
        lag_B=lag(B);                                                                                                                  
 if t=lag(t)+1 then do C=A/lag_B                                                                                                       
 ;end;                                                                                                                                 
run;                                                                                                                                   
                                                                                                                                       
proc print data=b;                                                                                                                     
run;                                                                                                                                   
     
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

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

藤椅
PharmD 发表于 2008-6-3 23:06:00

lili83xu's solution is perfect! What I added is nothing new - just to make sure C is set to missing when it is supposed to be so.

---------------------------------------------

data b(keep=t C);
set a;
lag_B=lag(B);
if t=lag(t)+1 then C=A/lag_B;
else C=.;
run;

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

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