楼主: 花道洋
1599 2

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

  • 0关注
  • 0粉丝

本科生

71%

还不是VIP/贵宾

-

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

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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 20:04