我的问题是从数据中提取正确的变量。我的数据如下:
id term grade number
35 2005 I 0
35 2005 F 1
35 2005 W 2
46 2003 A 0
46 2003 B 1
46 2003 F 2
46 2003 I 3
我对表格进行了排序,并给出了数字0-1-2,依此类推。这是排序后的示例。我需要的是,如果相同的id成绩是从I和F以及W开始的。就像id 35.所以我需要在这个表中前三个观察ID 35。
答案 0 :(得分:2)
这是一种Proc SQL方法,您也可以尝试2XDOW:
data have;
input (id term grade) (:$8.) number;
cards;
35 2005 I 0
35 2005 F 1
35 2005 W 2
46 2003 A 0
46 2003 B 1
46 2003 F 2
46 2003 I 3
;
proc sql;
create table want as
select * from have
group by id
having sum(GRADE='I' AND NUMBER=0) >0
AND sum(GRADE='F' AND NUMBER=1) >0
AND sum(GRADE='W' AND NUMBER=2) >0
;
QUIT;