Вот три наиболее распространенных способа создания подмножества набора данных в SAS:
Способ 1: выберите, какие столбцы оставить
data new_data;
set original_data;
keep var1 var3;
run ;
Способ 2: выберите, какие столбцы удалить
data new_data;
set original_data;
drop var4;
run ;
Способ 3: выберите, какие строки сохранить в зависимости от состояния
data new_data;
set original_data;
if var1 < 25 then delete;
run ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:
/\*create dataset\*/
data original_data;
input team $ points rebounds;
datalines ;
Warriors 25 8
Wizards 18 12
Rockets 22 6
Celtics 24 11
Thunder 27 14
Spurs 33 19
Nets 31 20
;
run ;
/\*view dataset\*/
proc print data =original_data;

Пример 1. Выберите, какие столбцы оставить
В следующем коде показано, как разделить набор данных с помощью инструкции KEEP , чтобы сохранить только определенные столбцы:
/\*create new dataset\*/
data new_data;
set original_data;
keep team points;
run ;
/\*view new dataset\*/
proc print data =new_data;

Пример 2: выберите, какие столбцы удалить
В следующем коде показано, как создать подмножество набора данных с помощью инструкции DROP для удаления определенных столбцов:
/\*create new dataset\*/
data new_data;
set original_data;
drop points;
run ;
/\*view new dataset\*/
proc print data =new_data;

Пример 3. Выбор строк для сохранения в зависимости от условия
В следующем коде показано, как создать подмножество набора данных с помощью оператора DELETE , чтобы удалить определенные строки из набора данных, где значение в столбце точек меньше 25:
/\*create new dataset\*/
data new_data;
set original_data;
if points < 25 then delete;
run ;
/\*view new dataset\*/
proc print data =new_data;

Вы также можете использовать ИЛИ « | ” для удаления строк, в которых очков меньше 25 или подборов меньше 10:
/\*create new dataset\*/
data new_data;
set original_data;
if points < 25 | rebounds < 10 then delete;
run ;
/\*view new dataset\*/
proc print data =new_data;

Вы также можете использовать оператор AND « & », чтобы удалить строки, в которых количество очков меньше 25, а количество подборов меньше 10:
/\*create new dataset\*/
data new_data;
set original_data;
if points < 25 & rebounds < 10 then delete;
run ;
/\*view new dataset\*/
proc print data =new_data;

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