Как подмножество данных в sas (3 примера)
Вот три наиболее распространенных способа разделения набора данных в SAS:
Способ 1. Выберите, какие столбцы сохранить.
data new_data;
set original_data;
keep var1 var3;
run ;
Способ 2. Выберите, какие столбцы удалить.
data new_data;
set original_data;
dropvar4 ;
run ;
Способ 3. Выберите, какие строки следует сохранить в зависимости от условия.
data new_data;
set original_data;
if var1 < 25 then delete;
run ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:
/*create dataset*/
data original_data;
input team $pointsrebounds;
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