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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *