楼主: destinyso
1391 3

計算寫法 [推广有奖]

  • 0关注
  • 0粉丝

学前班

50%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
83 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2012-11-24
最后登录
2016-10-2

楼主
destinyso 发表于 2012-11-24 16:16:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
隨便一個例子type Value   Difference
  A      50        .
  B      75       25
  C      78        3

  D     65       13

Difference 那項 是type B - type A 如此類推  用sas 可以怎麼寫 想了很久 謝謝
二维码

扫码加我 拉你入群

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

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

关键词:difference DIFFER erence value type

沙发
老师她摸我 发表于 2012-11-24 17:13:50
data b;
         set a;
         difference=abs(value-lag(value));
run;
欢迎加入SAS群:144839730-蜗牛

藤椅
destinyso 发表于 2012-11-24 17:19:43
如果不用LAG 同abs function 可以怎寫

板凳
老师她摸我 发表于 2012-11-24 17:55:02
data a;
        input type $ Value ;
cards;
A 50
B 75
C 78
D 65
run;
proc transpose data=a(drop=type) out=b(drop=_name_);
run;
data c;
        set b;
        array num {*} _numeric_;
        array num1{*} n1-n4;
                do i=1 to dim(num);
                        if i=1 then num1{i}=num{i}-num{i};
                                else num1{i}=num{i}-num{i-1};
                        if num1{i}<0 then num1{i}=0-num1{i};
                end;
        output;
        drop col1-col4 i;
run;
proc transpose data=c out=d(drop=_name_ rename=(col1=difference));
run;
data e;
        merge a d;
        if difference=0 then difference=.;
run;
欢迎加入SAS群:144839730-蜗牛

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

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