楼主: buyi1
1881 2

[原创博文] sas循环程序 [推广有奖]

  • 6关注
  • 0粉丝

本科生

61%

还不是VIP/贵宾

-

威望
0
论坛币
958 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
948 点
帖子
46
精华
0
在线时间
104 小时
注册时间
2011-9-10
最后登录
2021-12-25

楼主
buyi1 发表于 2011-11-21 15:28:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位我先现在有类似如下数据
    x1      x2
   001    2
   001    3
   001     12
   001     1
   002    12
    002  13
、、、、、
请问如何实现得到一个新的变量x3  且x3为x2的后一项减去前一项  并且还要按照x1编号循环
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 程序 如何

沙发
tj0412ymy 发表于 2011-11-21 15:51:44
  1. data test;
  2. input x1 $ x2;
  3. cards;
  4.    001    2
  5.    001    3
  6.    001     12
  7.    001     1
  8.    002    12
  9.     002  13
  10.         002 16
  11.         ;
  12.         run;
  13. data test1;
  14. set test;
  15. by x1;
  16. x3=x2-lag(x2);
  17. if first.x1 then x3=.;
  18. run;
  19. proc print;run;
复制代码
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

藤椅
webgu 发表于 2011-11-21 17:16:59
可以直接试试dif函数
  1. data want;
  2. set have;
  3. by x1;
  4. x3=dif(x2);
  5. if first.x1 then x3=.;
  6. run;
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 12:52