楼主: 梦小蛇
15602 8

[问答] 如何在sas中增加一列id [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
45 点
帖子
6
精华
0
在线时间
15 小时
注册时间
2013-9-26
最后登录
2018-5-17

楼主
梦小蛇 发表于 2013-9-26 20:48:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有准备好的数据,现在想在最前面加一列 id从1开始 ;并且是后一个值=前一个值+5的话就还是保持id不变,如果后一个值大于前一个值+5的话 id就加1 。求助~~~
二维码

扫码加我 拉你入群

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

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

关键词:如何

沙发
妖帝东皇 发表于 2013-9-26 21:30:52
1
1
1
1
1
2
2
2
2
2
……
这样??
┏━━━━━━━━━━━━━━┓
   ☞❤学而无友必然孤陋寡闻!❤
┗━━━━━━━━━━━━━━┛

藤椅
PhoenixHuang 发表于 2013-9-27 11:48:51
你需要lag函数:
data test;
  input num;
  datalines;
  1
  4
  9
  10
  16
  17
  19
  34
  ;
run;

data newtest;
        set test;
        if _n_=1 then id = 1;
        if num-lag(num)>5 then id+1;
run;

proc print data=newtest;run;

板凳
梦小蛇 发表于 2013-9-27 21:17:15
PhoenixHuang 发表于 2013-9-27 11:48
你需要lag函数:
data test;
  input num;
这个1、4、9、10这一串是干什么用的

报纸
梦小蛇 发表于 2013-9-28 10:01:42
妖帝东皇 发表于 2013-9-26 21:30
1
1
1
对的~就是这样

地板
梦小蛇 发表于 2013-9-28 10:24:47
PhoenixHuang 发表于 2013-9-27 11:48
你需要lag函数:
data test;
  input num;
按照你的方法 最后只剩下了num这一列 和id 这一列 其他的变量都不见了~~

7
playmore 发表于 2013-9-29 08:58:41
data want;
set have;
id=int((_N_-1)/5)+1;
run;
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

8
梦小蛇 发表于 2013-9-29 11:33:18
playmore 发表于 2013-9-29 08:58
data want;
set have;
id=int((_N_-1)/5)+1;
我想加前面。。。。。可是这样操作下来是 最后一列有id。。。。。

9
梦小蛇 发表于 2013-9-29 11:35:00
梦小蛇 发表于 2013-9-29 11:33
我想加前面。。。。。可是这样操作下来是 最后一列有id。。。。。
而且没有起到+5变id的效果~

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

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