楼主: 花道洋
2061 2

[有偿编程] SAS 按顺序分组计数 [推广有奖]

  • 0关注
  • 0粉丝

本科生

75%

还不是VIP/贵宾

-

威望
0
论坛币
241 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
582 点
帖子
17
精华
0
在线时间
206 小时
注册时间
2013-10-12
最后登录
2025-9-17

楼主
花道洋 发表于 2018-12-18 02:09:18 |AI写论文
30论坛币
需要用x列求得y列
求大神帮忙!
由于还有其他变量,简化如图所示:
已知x列与前面A-D的变量名,需要求得y列,y列为x列每个从1开始到下一个1之前数字的个数。

最佳答案

l1i2n3i4n5g 查看完整内容

data test; input x @@; cards; 1 1 2 3 1 2 1 2 1 2 1 1 2 3 4 5 6 ; run; data want; set test; id=_n_; run; proc sort data=want; by descending id; run; data want; set want; retain y; dif=dif(x); if _n_=1 then y=x; else if dif>=0 then y=x; drop dif; run; proc sort data=want; by id; run; proc print;run;
关键词:变量名

本帖被以下文库推荐

沙发
l1i2n3i4n5g 在职认证  发表于 2018-12-18 02:09:19
data test;
   input x @@;
cards;
1 1 2 3 1 2 1 2 1 2 1 1 2 3 4 5 6
;
run;

data want;
   set test;
   id=_n_;
run;

proc sort data=want;
   by descending id;
run;

data want;
   set want;
   retain y;
   dif=dif(x);
   if _n_=1 then y=x;
   else if dif>=0 then y=x;
   drop dif;
run;

proc sort data=want;
   by id;
run;

proc print;run;

藤椅
花道洋 发表于 2018-12-18 11:26:06
l1i2n3i4n5g 发表于 2018-12-18 10:01
data test;
   input x @@;
cards;
谢谢大神

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

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