楼主: ssakuno12
978 1

[问答] 请问如何删除lag的上一行 [推广有奖]

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
50 点
帖子
2
精华
0
在线时间
28 小时
注册时间
2019-9-17
最后登录
2021-2-3

楼主
ssakuno12 发表于 2020-12-27 19:44:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如想删除 a(变量名)                  1
                  3
                  11
                  12
                  22
                  24
                  28
                  29
中的相邻数字11和12、28和29所在的行。我用了一句 if a-lag(a)=1 then delete;删除了12和29所在的行,那么请问11和28所在的行该如何删除呢?

二维码

扫码加我 拉你入群

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

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

关键词:lag delete Then let ele

沙发
whymath 发表于 2020-12-30 22:22:42
使你需要一个与lag函数相反的功能,即用某种方法获得当前观测的下一条观测的值。方法很多,如下例使用firstobs=选项实现:
  1. data test;
  2.         input a;
  3.         cards;
  4.   1
  5.   3
  6.   11
  7.   12
  8.   22
  9.   24
  10.   28
  11.   29
  12.         ;
  13. run;

  14. data test;
  15.         merge test test(keep=a rename=a=ahead_a firstobs=2);
  16.         if dif(a) in (1 -1) or (a - ahead_a) in (1 -1) then delete;
  17.         put _N_ = a = ;
  18. run;
复制代码

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

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