全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6452 3
2010-09-27
收集了一组数据,是上万家公司在40年的时间里某个数据,但是数据参差不齐,比如有的公司有40年的全部数据,有的只有一两年,或者三四年的

第一列是公司的代码,用6个数字表示,第二列是年份,第三列是数据。

gvkey  year  data

现在想剔除掉那些数据小于两年的公司。就是只有一到两年数据的公司。

请问这个该怎么写?

谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-9-27 13:46:09
用EXCEL试试。
二维码

扫码加我 拉你入群

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

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

2010-9-27 15:52:43
data test;
   input gvkey $  year $ data;
   cards;
aaaaaa 1984 83949
aaaaaa 1985 88888
aaaaaa 1986 99999
bbbbbb 1987 81111
bbbbbb 1988 23934
cccccc 2000 1123
dddddd 2009 9890
dddddd 2008 8900
dddddd 2010 8999
;

proc tabulate data=test out=a(where=(N<=2));
    class gvkey;
   table gvkey;
run;

proc sql noprint;
    select quote(strip(gvkey)) into :rm_list separated by "," from a;
quit;

data wanted;
     set test;
     if gvkey not in (&rm_list);
run;
二维码

扫码加我 拉你入群

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

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

2010-9-27 16:06:57
假设原始数据集名为orig
proc sql;
        create table new as
        select *
        from orig
        group by gvkey
        having count(gvkey)>2;
quit;
proc print data=new;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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