SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 788|回复: 5
打印 上一主题 下一主题

一个小问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-5-20 10:47:56 | 只看该作者

一个小问题

有个小问题有些想不明白,请大侠们给点idea。
数据如下:
com x y
1     .   6
1     1  4
1     .   3
1     1   .
1     2   1
1     .   2
2     1   6
2     2   .
2     .   3
2     1   .
2     .   1
2     1   .

上面这样的数据,对应每个com的每个not missing x之间,我需要求y的mean median std min max以及last y,前面几个比较好办,对应每个x可以给个flag然后proc means就可以了。但是最后求last y我有点晕,因为直接用last.flag,可能最后一个y是missing的,那么这时候我要的是最接近的前面的y,这要如何处理?

即结果应如下:
com x lasty
1     1  4
1     1   3
1     2   1
2     1   6
2     2   6
2     1   3
2     1   1

<!-- s:oops: --><img src="{SMILIES_PATH}/icon_redface.gif" alt=":oops:" title="Embarassed" /><!-- s:oops: --> 也不知道我说明白没有,大家给点idea吧。thanks.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-5-20 11:19:17 | 只看该作者

Re: 一个小问题

[code:mx45mwiv]data raw;
        input com x y;
datalines;
1 &#46; 6
1 1 4
1 &#46; 3
1 1 &#46;
1 2 1
1 &#46; 2
2 1 6
2 2 &#46;
2 &#46; 3
2 1 &#46;
2 &#46; 1
2 1 &#46;
;

data temp(drop=temp_y);
        retain temp_y;
        set raw;
        by com;
        temp_y=ifn(missing(lag(y)),temp_y,lag(y));
        if not first&#46;com and missing(y) then y=temp_y;
        if x;
run;[/code:mx45mwiv]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-5-20 11:22:55 | 只看该作者

Re: 一个小问题

谢谢hope!

temp_y=ifn(lag(y),lag(y),temp_y);这一句是什么意思啊?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-5-20 12:02:47 | 只看该作者

Re: 一个小问题

to hopewell
如果y是0, 也不计入之内?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-5-20 12:50:27 | 只看该作者

Re: 一个小问题

眼还真尖,让你抓个正着,改过了  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-5-21 10:43:32 | 只看该作者

Re: 一个小问题

领教了, <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 05:03 , Processed in 0.070617 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表