楼主: dingdang15
1578 4

[求助] 急求一个SAS编程问题~多谢!~ [推广有奖]

  • 0关注
  • 0粉丝

已卖:20份资源

高中生

22%

还不是VIP/贵宾

-

威望
0
论坛币
283 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
205 点
帖子
16
精华
0
在线时间
23 小时
注册时间
2008-10-3
最后登录
2019-5-15

楼主
dingdang15 发表于 2009-6-21 17:17:48 |AI写论文
4论坛币
嗯就是想实现这么个结果,就是一组数据比如说有一百个观测,这些数据是按日期date排列的,包括不同公司firm的。然后有一个变量是sto.然后我想筛选一下这些数据,就是分别对于每个公司,sto一超过某一个数,就不要这个公司这个观测以后的所有数据。例如,
下面数据中,只要sto大于2,共一组公司内,这个观测以后的数据都不要
date firm sto
1      1      1.1
2      1      1.3
3      1      2.1
4      1      1.1
5      1      2.3
1      2      1.1
2      2      2.1
3      2      1.5
最后结果想是这样
date firm sto
1      1      1.1
2      1      1.3
3      1      2.1
1      2      1.1
2      2      2.1
请问如何通过SAS实现?
改成悬赏了。。我是个新手。多谢大牛指教!~

关键词:sas编程问题 SAS编程 FIRM date sto SAS

回帖推荐

linhaoran 发表于2楼  查看完整内容

try this

本帖被以下文库推荐

沙发
linhaoran 发表于 2009-6-21 19:26:38
try this


  1. data a;
  2. input date firm sto;
  3. cards;
  4. 1      1      1.1
  5. 2      1      1.3
  6. 3      1      2.1
  7. 4      1      1.1
  8. 5      1      2.3
  9. 1      2      1.1
  10. 2      2      2.1
  11. 3      2      1.5
  12. ;
  13. run;


  14. data b;
  15. retain t;
  16. set a;
  17. by firm;
  18. if first.firm then t=0;
  19. if t = 0 then output;
  20. if sto>2 then t=1;
  21. drop t;
  22. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

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

藤椅
dingdang15 发表于 2009-6-23 14:18:56
2# linhaoran

嗯我先研究下~多谢!~

板凳
jie1987 在职认证  发表于 2009-6-27 13:28:42
用循环语句吧,我试试看。呵呵

报纸
sw8xyx88 发表于 2009-7-15 03:41:16
用SQL吧  
proc sql;



最后
order by sto
where sto>2;

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

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