楼主: liu022
2455 11

[原创博文] 请教怎么选出指定记录后面30条记录 [推广有奖]

  • 0关注
  • 6粉丝

已卖:181份资源

讲师

64%

还不是VIP/贵宾

-

威望
0
论坛币
879 个
通用积分
7.4013
学术水平
23 点
热心指数
18 点
信用等级
21 点
经验
3667 点
帖子
430
精华
1
在线时间
375 小时
注册时间
2007-5-21
最后登录
2025-10-22

楼主
liu022 发表于 2011-12-10 13:24:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好!
       小弟正在做事件研究,怎么从事件日开始,选出事件日后30条记录?
      我听说有一个叫proc expand的过程貌似可以实现,请问是怎么用?
      谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:expand 事件研究 大家好 ROC EXP 记录

沙发
长风神舞 在职认证  发表于 2011-12-10 14:05:18
路过
长风破浪会有时,直挂云帆济沧海!--长风神舞

藤椅
liu022 发表于 2011-12-10 14:25:10
自己顶下~

板凳
liu022 发表于 2011-12-10 20:17:55
还没人回啊~自己再顶一下~

报纸
y1ZS26SE 发表于 2011-12-11 01:16:52
支持者顶啊

地板
lVMan9PN 发表于 2011-12-11 13:55:24
学习一下啊

7
baoqianying 发表于 2011-12-11 14:37:16
初学者路过,弱弱的问不可以用obs么?

8
ntsean 发表于 2011-12-11 23:30:47
这个 data step就够了把

9
liu022 发表于 2011-12-12 08:04:29
ntsean 发表于 2011-12-11 23:30
这个 data step就够了把
能具体一点吗?比如:一列数如下
var1   var2
1
2
3        0
4        
5
6
7        0
8
9
10

选出var2为0位置前后两个观测值。不用两个Data步来实现,怎么弄?
我希望看到有效率的做法。毕竟可能选出30或者更多个观测,不建议用
proc expand data=....
convert var2=x/transform(lag=1)
convert var2=x/transform(lead=1)
run;
因为很多个,不可能一个一个的写~谢谢!

10
ntsean 发表于 2011-12-12 09:17:18
liu022 发表于 2011-12-12 08:04
能具体一点吗?比如:一列数如下
var1   var2
1
如果只是按照你原帖说的保留后面两个(或者30个) data step 就够了,比如

data b;
set a;
retain count .;
if var2=0 then count=0;
if 0<count<=2 then output;
count=count+1;
run;


如果要保留前后各多少个,就有点难度吧。 做肯定可以,比如你用proc expand把每个obs的前后30个都找出来.

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

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