Sas: фільтрувати рядки, що містять рядок


Щоб фільтрувати набори даних SAS для рядків, що містять певні рядки, можна використовувати такі методи:

Спосіб 1. Фільтруйте рядки, що містять певний рядок

 /*filter rows where var1 contains "string1"*/
data specific_data;
    set original_data;
    where var1 contains ' string1 ';
run ;

Спосіб 2. Відфільтрувати рядок, що містить один рядок, серед кількох

 /*filter rows where var1 contains "string1", "string2", or "string3"*/
data specific_data;
    set original_data;
    where var1 in (' string1 ', ' string2 ', ' string3 ');
run ;

У наведених нижче прикладах показано, як використовувати кожен метод із таким набором даних у SAS:

 /*create dataset*/
data nba_data;
    input team $points;
    datalines ;
Mavs 95
Spurs 99
Warriors 104
Rockets 98
Heat 95
Nets 90
Magic 99
Cavs 106
;
run ;

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

Спосіб 1. Фільтруйте рядки, що містять певний рядок

У наведеному нижче коді показано, як фільтрувати набір даних для рядків, які містять рядок «avs» у стовпці team :

 /*filter rows where team contains the string 'avs'*/
data specific_data;
    set nba_data;
    where team contains ' avs ';
run ;

/*view resulting rows*/
proc print data = specific_data;

Єдині два показані рядки – це те, де в назві стовпця team є «avs».

Спосіб 2: фільтрування рядків, що містять один із кількох рядків

Наступний код показує, як фільтрувати набір даних для рядків, що містять рядки «Mavs», «Nets» або «Rockets» у стовпці team :

 /*filter rows where team contains the string 'Mavs', 'Nets', or 'Rockets'*/
data specific_data;
    set nba_data;
    where team in (' Mavs ', ' Nets ', ' Rockets ');
run ;

/*view resulting rows*/
proc print data = specific_data;

У результуючому наборі даних відображаються лише ті рядки, де стовпець команди містить один із трьох указаних рядків.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як нормалізувати дані в SAS
Як перейменувати змінні в SAS
Як видалити дублікати в SAS
Як замінити пропущені значення на нуль в SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *