全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1924 1
2010-06-21
本人有这么一组数据,想用公司的规模对观察值的个数进行限制:公司规模Assets开始超过(大于或等于)250的观察值被计入样本。在没有达到250规模之前的那些值,设定为.missing value)。而自从规模超过250以后再降到250以下的值仍保留。不知用SAS如何实现?请指教。
举例:
Company
Date
Assets
Aaa
200101
230(不需要了)
Aaa
200102
280 (从这一月起,以后的数据都计入样本)
Aaa
200103
260
Aaa
200104
240需要
Aaa
200105
200需要
Aaa
200106
210需要
Aaa
200107
260
..................
Bbb
199507
180不需要了
Bbb
199508
170不需要了
Bbb
199509
200不需要了
Bbb
199510
230不需要了
Bbb
199511
250
(从这一月起,以后的数据都计入样本)
Bbb
199512
260
Bbb
199601
240
(需要
..................
想转变为:
Company
Date
Assets
Aaa
200101
. (missing value)
Aaa
200102
280
Aaa
200103
260
Aaa
200104
240
Aaa
200105
200
Aaa
200106
210
Aaa
200107
260
..................
Bbb
199507

.
Bbb
199508

.
Bbb
199509

.
Bbb
199510

. (这四个都为missing )
Bbb
199511
250
Bbb
199512
260
Bbb
199601

240
.................
二维码

扫码加我 拉你入群

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

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

全部回复
2010-6-21 08:49:33
proc sort data=origin;
   by company date;
run;

data result;
    set origin;
        by company date;
        retain size;
        if first.company then size=assets;
        else size=max(size,assets);
        if size<250 then assets=.;
        drop size;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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