Sas: filtrar linhas contendo uma string
Você pode usar os seguintes métodos para filtrar conjuntos de dados SAS para linhas contendo determinadas strings:
Método 1: Filtrar linhas contendo uma string específica
/*filter rows where var1 contains "string1"*/
data specific_data;
set original_data;
where var1 contains ' string1 ';
run ;
Método 2: Filtre a linha que contém uma string entre várias
/*filter rows where var1 contains "string1", "string2", or "string3"*/
data specific_data;
set original_data;
where var1 in (' string1 ', ' string2 ', ' string3 ');
run ;
Os exemplos a seguir mostram como usar cada método com o seguinte conjunto de dados no 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;
Método 1: Filtrar linhas contendo uma string específica
O código a seguir mostra como filtrar o conjunto de dados para linhas que contêm a string “avs” na coluna da equipe :
/*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;
As únicas duas linhas mostradas são onde a coluna da equipe tem “avs” no nome.
Método 2: Filtrar linhas contendo uma das várias strings
O código a seguir mostra como filtrar o conjunto de dados para linhas contendo as strings “Mavs”, “Nets” ou “Rockets” na coluna da equipe :
/*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;
O conjunto de dados resultante exibe apenas linhas em que a coluna da equipe contém uma das três strings que especificamos.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como normalizar dados no SAS
Como renomear variáveis no SAS
Como remover duplicatas no SAS
Como substituir valores ausentes por zero no SAS