楼主: jungsee
1438 3

数据重新编号 [推广有奖]

  • 0关注
  • 10粉丝

已卖:857份资源

讲师

31%

还不是VIP/贵宾

-

威望
0
论坛币
2094 个
通用积分
76.6887
学术水平
12 点
热心指数
15 点
信用等级
8 点
经验
75593 点
帖子
255
精华
0
在线时间
637 小时
注册时间
2004-12-20
最后登录
2025-10-16

楼主
jungsee 发表于 2014-1-15 13:29:11 |AI写论文
100论坛币
有一个数据列A:(这个数据  行 很长,我这里是举一个简单的例子)
X
10
2
3
.
.
.
7
5
9
1
.
.
.
.
.
41
.
12
.
我要对X编号,产生一列NUM:
规则是:1.X的顺序不变,不用排列     2.数字 和 点. 单独排序,间隔后重新排序。
结果应该是这样的结构:

X     num
10   1
7     2
3     3
.      1
.     2
.     3
7    1
5    2
9    3
1    4
.      1
.      2
.      3
.      4
.      5
41    1
.       1
12    1
.       1

.       2

求大神赐教,谢谢!!!

最佳答案

wwang111 查看完整内容

data wanted; set a; if x ne . and lag(x)=. then num1=0; num1+1; if lag(x) ne . and x=. then num2=1; if x=. and lag(x)=. then num2+1; if (x ne . and lag(x)=.) or (x ne . and lag(x) ne .) then num=num1; else num=num2; keep x num; run;
关键词:NUM

沙发
wwang111 发表于 2014-1-15 13:29:12
data wanted;
set a;
if x ne . and lag(x)=. then num1=0;
num1+1;
if lag(x) ne . and x=. then num2=1;
if x=. and lag(x)=. then num2+1;
if (x ne . and lag(x)=.) or (x ne . and lag(x) ne .) then num=num1;
else num=num2;
keep x num;
run;
只有一个罗纳尔多

藤椅
jungsee 发表于 2014-1-15 14:07:36
wwang111 发表于 2014-1-15 14:00
data wanted;
set a;
if x ne . and lag(x)=. then num1=0;
怎么支付论坛币?

板凳
wwang111 发表于 2014-1-15 14:09:12
我也不清楚,不用了啊,没事。
只有一个罗纳尔多

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

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