楼主: liu022
1654 2

[原创博文] 这段代码虽然没报错,但是为什么没有结果 [推广有奖]

  • 0关注
  • 6粉丝

已卖:181份资源

讲师

64%

还不是VIP/贵宾

-

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

楼主
liu022 发表于 2011-7-26 16:11:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好!
我写了下面的代码,但是为什么虽然没有报错,但是仍然没有结果。

主要是统计isbuy这个序列(这个序列是由0和1组成的)中,连续的0和连续的1这种串有多少个。要求是按照股票代码来统计的。

proc sort data=sh;by code date time;run;

data runcount;
        set sh nobs=nobs end=last;
        by  code date;
        prev=( lag(isbuy) = 0 );
        curr=( isbuy = 0 );
if first.code=1 or first.date=1 then do;runs=0; numzero=0;end;
else do;

        if curr and prev then do;numzero+1; end;
        else if curr and ^prev then
           do;
           runs+1;
           numzero+1;
           end;
        else if ^curr and prev then runs+1;
        if last then
          do;
          numone=nobs-numzero;
          n=nobs;
          output;
          end;
end;
keep code date runs numpos numneg n;
run;

数据在附件中。

谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:output First outpu Count Then 股票代码 统计

sh.rar
下载链接: https://bbs.pinggu.org/a-939011.html

1.23 KB

本附件包括:

  • sh.sas7bdat

沙发
yugao1986 发表于 2011-7-26 17:04:19
最后的numneg那里来的?
三人行必有我师

藤椅
pobel 在职认证  发表于 2011-7-26 17:40:43
是不是这样?


data runcount;
        set sh nobs=nobs end=last;
        by  code date;
               
        prev=( lag(isbuy) = 0 );
        curr=( isbuy = 0 );
if first.code=1 then do;runs=0; numzero=0;end;
else do;

        if curr and prev then do;numzero+1; end;
        else if curr and ^prev then
           do;
           runs+1;
           numzero+1;
           end;
        else if ^curr and prev then runs+1;
        if last.code then
          do;
          numone=nobs-numzero;
          n=nobs;
          output;
          end;
end;
keep code date runs numone numzero n;
run;
和谐拯救危机

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

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