Sas: как использовать proc sort с оператором keep
Вы можете использовать PROC SORT с оператором KEEP в SAS для сортировки строк в наборе данных и сохранения только определенных столбцов после сортировки.
Для этого вы можете использовать следующий базовый синтаксис:
proc sort data=my_data out =sorted_data ( keep =var1 var2);
by var2;
run ;
В этом конкретном примере строки в наборе данных сортируются на основе значений в столбце var2 , а затем после сортировки сохраняются только столбцы var1 и var2 .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: используйте PROC SORT с оператором KEEP в SAS.
Предположим, у нас есть следующий набор данных в SAS, содержащий информацию о различных баскетбольных командах:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Mavs 113 22
Pacers 95 19
Cavs 100 34
Lakers 114 20
Heat 123 39
Kings 100 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119 29
;
run ;
/*view dataset*/
proc print data =my_data;
Мы могли бы использовать следующий синтаксис для сортировки строк набора данных на основе значений в столбце точек :
/*sort rows in dataset based on values in points column*/
proc sort data =my_data out =sorted_data;
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
Обратите внимание, что строки теперь сортируются по возрастанию на основе значений в столбце точек .
По умолчанию SAS сохраняет все столбцы набора данных после сортировки.
Однако вы можете использовать оператор KEEP , чтобы указать, какие столбцы следует сохранить после сортировки.
Например, мы можем использовать следующий синтаксис для сортировки строк в наборе данных на основе значений в столбце очков , а затем сохранить только столбцы команды и очков :
/*sort rows in dataset based on values in points column and only keep team and points*/
proc sort data=my_data out =sorted_data ( keep =team points);
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
Опять же, строки сортируются по возрастанию на основе значений столбца очков , но на этот раз мы использовали оператор KEEP , чтобы после сортировки сохранить только столбцы команды и очков .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать PROC SORT с NODUPKEY в SAS
Как переименовать переменные в SAS
Как создать новые переменные в SAS