全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1389 3
2012-09-16
悬赏 10 个论坛币 已解决
本人初学SAS,遇到以下一些问题:
1.如何实现对筛选出的数据的下一个观测(observation)的处理,比如分析涨停板股票在第二天的表现之类的问题,当天涨停的股票可以通过对涨跌幅的筛选得到,但是要通过什么方法才能对其下一个观测(observation)进行处理呢?
2.利用do...to...语句进行循环处理时,能否对观测(observation)的序号进行循环处理,具体形式是什么?
谢谢~

最佳答案

iRoss2007 查看完整内容

关于读取后几天观测的情况,有两种思路解决: 1,建立2个data步,第一个data步中将所有符合要求的变量用某种flag变量标记下来,然后在第二个data步中运算 2,使用proc expand,例如,要求滞后与领先n期的数据,可以使用lead与lag算子: proc expand data=raw out=raw_expand method=none; id date; %do i=1 %to &n.; convert monret=lag&i./transform=(lag &i.); convert monret=lead&i./transform=(lead &i.); ...
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-16 23:07:18
关于读取后几天观测的情况,有两种思路解决:
1,建立2个data步,第一个data步中将所有符合要求的变量用某种flag变量标记下来,然后在第二个data步中运算

2,使用proc expand,例如,要求滞后与领先n期的数据,可以使用lead与lag算子:
proc expand data=raw out=raw_expand method=none;
        id date;
        %do i=1 %to &n.;
                convert monret=lag&i./transform=(lag &i.);
                convert monret=lead&i./transform=(lead &i.);
                label lag&i.="滞后&i.期";
                label lead&i.="领先&i.期";
        %end;
run;
二维码

扫码加我 拉你入群

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

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

2012-9-17 01:30:23
或者说,观测(observation)的序号能否作为变量来处理?应该如何处理?
二维码

扫码加我 拉你入群

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

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

2012-9-17 08:08:49
iamssj 发表于 2012-9-17 01:30
或者说,观测(observation)的序号能否作为变量来处理?应该如何处理?
可以。

data class;
  set sashelp.class;
nobs=_n_;
run;

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群