楼主: tagv
1972 6

怎样将一个纪录号变化的某标志以上的观察值删掉 [推广有奖]

  • 0关注
  • 0粉丝

高中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
200 点
帖子
39
精华
0
在线时间
33 小时
注册时间
2008-3-19
最后登录
2009-8-28

楼主
tagv 发表于 2009-8-23 15:42:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
TimetypepriceBidpriceaskpriceQUALIFIERSminutedaymonthyear
30:05.6Quote5030312006
30:05.6Quote51.530312006
30:26.2Quote52.530312006
30:26.2Quote5130312006
30:54.9Quote4830312006
31:20.3Quote5331312006
55:42.4Trade50.5Open[USER]55312006
55:45.3Quote50.555312006
55:45.3Quote5155312006
55:45.3Trade50.5B[ACT_FLAG1];High|Low[USER]55312006



QUALIFIERSOpen[USER] 的位置动态是变化的,我希望把从开始到这个观察值的所有记录删掉。这个表
是个开盘的每笔交易。但在研究微观交易结构时,要去除集合竞价部分。可我干了一整天。就是无法找到算法。
。因为这个开盘标志在第一个小时的纪录中位置不固定,我无法以这个标志为界将前面的纪录删除。痛苦中。。。。谢谢大家!

二维码

扫码加我 拉你入群

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

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

关键词:minute Quote Price Trade equal 纪录 观察 删掉

回帖推荐

sushe1527 发表于5楼  查看完整内容

data a; input Time$ type$ price Bidprice askprice QUALIFIERS$ minute day month year @@; cards; 30:05.6 Quote . 50 . . 30 3 1 2006 30:05.6 Quote . . 51.5 . 30 3 1 2006 30:26.2 Quote . 52.5 . . 30 3 1 2006 30:26.2 Quote . . 51 . 30 3 1 2006 30:54.9 Quote . . 48 . 30 3 1 2006 31:20.3 Quote . 53 . . 31 3 1 2006 55:42.4 Trade 50.5 . . OpenUSER 55 3 1 2006 55:45.3 Quote . ...

本帖被以下文库推荐

沙发
爱萌 发表于 2009-8-23 15:52:53
if qualifiers="Open%" then delete;
或者 用where语句也是可以
最恨对我说谎或欺骗我的人

藤椅
tagv 发表于 2009-8-23 15:57:11
谢谢这么快回帖!


我的重点是要能动态的识别这个标志,把这个观察值以上的包括缺失的纪录都删掉。如果用%可能只会删这一条。

再次谢谢



    %可以代表任何字符串,所以这样足以

板凳
tagv 发表于 2009-8-23 16:00:51
sas初次用,发现无法大量灵活使用指针 真是大不灵活。而且没有回滚!哎!

报纸
sushe1527 发表于 2009-8-23 17:57:21
data a;
input Time$ type$ price Bidprice askprice QUALIFIERS$ minute day month year @@;
cards;
30:05.6 Quote . 50 . .  30 3 1 2006
30:05.6 Quote  . . 51.5 . 30 3 1 2006
30:26.2 Quote  . 52.5  . . 30 3 1 2006
30:26.2 Quote   . . 51 . 30 3 1 2006
30:54.9 Quote  . .  48  . 30 3 1 2006
31:20.3 Quote . 53 . .  31 3 1 2006
55:42.4 Trade 50.5 . .    OpenUSER 55 3 1 2006
55:45.3 Quote  . 50.5  . . 55 3 1 2006
55:45.3 Quote   . . 51 . 55 3 1 2006
55:45.3 Trade 50.5  . . B[ACT_FLAG1]High|Low[USER] 55 3 1 2006
;
run;
%let mark=OpenUSER;
data out;
do i=1 to end;
  set a point=i nobs=end;
   if QUALIFIERS="&mark" then  do k=i+1 to end;  /*需要前面数据的话改成 k= 1 to i-1*/
    set a point=k;
         output;
                 end;
                 end;
stop;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

地板
tagv 发表于 2009-8-23 18:06:46
先赶快感谢以下!再看!

7
tagv 发表于 2009-8-23 18:23:24

佩服!!
希望多交流。我留了个邮件给你短消息。方便联系。

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

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