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» в столбце команды :
/*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;
Показаны только две строки, в которых в названии столбца команды содержится слово «avs».
Способ 2. Фильтрация строк, содержащих одну из нескольких строк.
Следующий код показывает, как фильтровать набор данных для строк, содержащих строки «Mavs», «Nets» или «Rockets» в столбце команды :
/*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