楼主: iamssj
1210 3

[原创博文] SAS编程中的一点问题 [推广有奖]

  • 0关注
  • 3粉丝

讲师

74%

还不是VIP/贵宾

-

威望
0
论坛币
680 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2159 点
帖子
276
精华
0
在线时间
649 小时
注册时间
2009-10-11
最后登录
2022-12-20

楼主
iamssj 在职认证  发表于 2012-9-16 23:07:17 |只看作者 |坛友微信交流群|倒序 |AI写论文
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.); ...
关键词:SAS编程 observation observat ATION 初学sas 涨停板 如何
沙发
iRoss2007 在职认证  学生认证  发表于 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;
文(伪)科(码)男(农), 弹幕爱好者,微软脑残粉,萧亚轩脑残

使用道具

藤椅
iamssj 在职认证  发表于 2012-9-17 01:30:23 |只看作者 |坛友微信交流群
或者说,观测(observation)的序号能否作为变量来处理?应该如何处理?

使用道具

板凳
webgu 发表于 2012-9-17 08:08:49 |只看作者 |坛友微信交流群
iamssj 发表于 2012-9-17 01:30
或者说,观测(observation)的序号能否作为变量来处理?应该如何处理?
可以。

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

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-12 08:11