2016-11-06 96 views
0

选择OBS我的数据是这样的:SAS:如何使用条件

rep model x Reject 
1 1 1.36 1 
1 2 -0.76 0 
1 3 3.74 1 
1 4 -0.42 0 
2 1 -0.56 0 
2 2 -5.78 0 
2 3 -2.00 0 
2 4 -3.67 0 

,我想输出是这样的:

rep model x Reject 
1 1  1.36 1 
2 1 -0.56 0 

我只想1 4模型,其中拒绝= 1但如果找不到,每个Obs都可以。

谢谢!

+0

您能否描述您想要选择的记录的逻辑?另外,请显示您尝试过的代码。 – Quentin

+0

我有model = 1到4和Reject = 0或1. rep是一个组。 我只需要4个模型中的1个。 如果Reject = 1(任何模型),我会看到Reject,但如果所有4个模型都有Reject = 0,那么我可以像随机选择一样使用任何模型,或者我可以使用model = 1。 关于代码 我不太了解SAS代码,所以我使用if函数,但它是错误代码或输出只出现Reject = 1 – Plan

回答

1

通过REP和REJECT对您的数据进行排序,并根据REP获取第一条记录。

Proc sort data=have; 
    By rep descending reject model; 
Run; 

Data select; 
    Set have; 
    By rep descending reject model; 
    If first.rep; 
Run;