如何在SAS中删除观测值

如何在SAS中删除观测值,sas,Sas,我在SAS工作,有一个大约80000个观测值的文件,我决定保留11个变量 我想删除值超过97的变量。这些都是遗漏的观察结果,我不想处理这些 我尝试使用以下代码(请不要判断): 199数据雷达; 200台雷达; 201如果是ca10 97,则删除; 203如果性别97,则删除; 205如果性别97,则删除; 207如果cityrur 97,则删除; 209如果edu3 97,则删除; 211如果ca10 97,则删除; 213如果hinc3rel 97,则删除; 215如果aa10i 97,则删除

我在SAS工作,有一个大约80000个观测值的文件,我决定保留11个变量

我想删除值超过97的变量。这些都是遗漏的观察结果,我不想处理这些

我尝试使用以下代码(请不要判断):

199数据雷达;
200台雷达;
201如果是ca10 97,则删除;
203如果性别97,则删除;
205如果性别97,则删除;
207如果cityrur 97,则删除;
209如果edu3 97,则删除;
211如果ca10 97,则删除;
213如果hinc3rel 97,则删除;
215如果aa10i 97,则删除;
217如果ba10 97,则删除;
219如果是97岁,则删除;
221如果ga10c 97,则删除;
223如果是bc20 97,则删除;
225如果ac10a 97,则删除;
227如果是ga10j 97,则删除;
229次;
然而,SAS的响应不是通过减去观察值,而是通过添加更多的观察值

请帮助……

可能是问这样一个编程问题的更好地方(如果这个问题结束了,我也不会感到惊讶)

以下三种方法可删除至少一个变量值大于97的所有观察值(即行):

data radata;
  set radata;
  array x(10) ca10 sex cityrur edu3 hinc3 aa10i age ga10c bc20 ga10j;
  do i=1 to 10; 
     if x(i) > 97 then delete;
  end;
run;


现在,如果您只想让这些变量具有缺少的值符号(
),而不删除整个观察值,那么您需要将
删除
替换为
x(i)=.
。您可以对第二个示例执行类似操作。

请发布一个示例,说明您的输入数据集的外观以及您试图生成的相应输出数据。是否要删除一个或多个变量大于97的所有行?或者所有变量大于97的所有行?或所有值均大于97的所有列?未经编译的代码是一个混乱的代码,每个值97的输出都会重复一行。
data radata;
  set radata;
  array x(10) ca10 sex cityrur edu3 hinc3 aa10i age ga10c bc20 ga10j;
  do i=1 to 10; 
     if x(i) > 97 then delete;
  end;
run;
data radata;
  set radata;
  if ca10 > 97 then delete;
  if sex > 97 then delete; 
  if cityrur > 97 then delete;
  if edu3 > 97 then delete;
  if hinc3 > 97 then delete;
  if aa10i > 97 then delete;
  if age > 97 then delete;
  if ga10c > 97 then delete;
  if bc20 > 97 then delete;
  if ga10j > 97 then delete;
run;
data radata;
  set radata;
  if ca10 > 97 or sex > 97 or cityrur > 97 or edu3 > 97 or
     hinc3 > 97 or aa10i > 97 or age > 97 or ga10c > 97 or
     bc20 > 97 or ga10j > 97 then delete;
run;