Как удалить строки в SAS (3 примера)


Вот три наиболее распространенных способа удаления строк в SAS:

Способ 1: удаление строк на основе одного условия

data new_data;
 set original_data;
 if var1 = " string " then delete;
run ;

Способ 2: удаление строк на основе нескольких условий

data new_data;
 set original_data;
 if var1 = " string " and var2 < 10 then delete;
run ;

Способ 3: удаление строк на основе одного из нескольких условий

data new_data;
 set original_data;
 if var1 = " string " or var2 < 10 then delete;
run ;

В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:

/\*create dataset\*/
data original_data;
 input team $ position $ points;
 datalines ;
A Guard 15
A Guard 19
A Guard 22
A Forward 25
A Forward 27
B Guard 11
B Guard 13
B Forward 19
B Forward 22
B Forward 26
;
run ;

/\*view dataset\*/
proc print data =original_data; 

Пример 1: удаление строк на основе одного условия

В следующем коде показано, как удалить все строки из набора данных, где команда равна «А».

/\*create new dataset\*/
data new_data;
 set original_data;
 if team = " A " then delete;
run ;

/\*view new dataset\*/
proc print data =new_data; 

Обратите внимание, что все строки, в которых команда была равна «А», были удалены.

Пример 2. Удаление строк на основе нескольких условий

В следующем коде показано, как удалить все строки из набора данных, где команда равна «А», а количество баллов меньше 20:

/\*create new dataset\*/
data new_data;
 set original_data;
 if team = " A " and points < 20 then delete;
run ;

/\*view new dataset\*/
proc print data =new_data; 

Обратите внимание, что две строки, в которых команда была равна «А» и количество очков было меньше 20, были удалены.

Пример 3. Удаление строк на основе одного из нескольких условий

В следующем коде показано, как удалить все строки из набора данных, где команда равна «А» или количество баллов меньше 20:

/\*create new dataset\*/
data new_data;
 set original_data;
 if team = " A " or points < 20 then delete;
run ;

/\*view new dataset\*/
proc print data =new_data; 

Обратите внимание, что восемь строк, в которых команда была равна «А» или количество очков было меньше 20, были удалены.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как использовать сводку процедур в SAS
Как переименовать переменные в SAS
Как создать новые переменные в SAS