Sas: как использовать proc sort с nodupkey


Вы можете использовать PROC SORT в SAS с NODUPKEY для сортировки наблюдений в наборе данных по одной или нескольким переменным и удаления любых дубликатов.

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

 /*create dataset*/
data original_data;
    input team $pointsrebounds;
    datalines ;
At 12 8
At 12 8
At 12 8
At 23 9
At 20 12
At 14 7
At 14 7
B 20 2
B 20 5
B 29 4
B 14 7
B 20 2
B 20 2
B 20 5
;
run ;

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

Пример. Использование PROC SORT с NODUPKEY в SAS.

Предположим, мы просто используем сортировку proc для сортировки наблюдений в наборе данных в порядке возрастания (от меньшего к большему) на основе значения в столбце точек :

 /*sort by points ascending*/
proc sort data =original_data out =data2;
    by points;
run ;

/*view sorted dataset*/
proc print data =data2; 

Обратите внимание, что наблюдения сортируются в порядке возрастания на основе значения в столбце точек .

Однако некоторые наблюдения являются дубликатами.

Чтобы отсортировать наблюдения на основе значений в столбце точек и удалить все дубликаты, мы можем добавить nodupkey после оператора сортировки proc :

 /*sort by points ascending and remove duplicates*/
proc sort data =original_data out =data3 nodupkey ;
    by points;
run ;

/*view sorted dataset*/
proc print data =data3; 

Наблюдения теперь сортируются в порядке возрастания на основе значения в столбце точек , а все повторяющиеся наблюдения удалены.

Обратите внимание, что мы также можем добавить аргумент по убыванию , чтобы отсортировать наблюдения на основе значения в столбце точек в порядке убывания и удалить все дубликаты:

 /*sort by points descending and removing duplicates*/
proc sort data =original_data out =data4 nodupkey ;
    by descending points;
run ;

/*view sorted dataset*/
proc print data =data4; 

Наблюдения теперь сортируются по убыванию значений в столбце точек , а все повторяющиеся наблюдения удалены.

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

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

Как использовать Proc Append в SAS
Как использовать Proc Tabulate в SAS
Как использовать сортировку Proc в SAS

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

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