Como usar a função scan no sas (com exemplos)
Você pode usar a função SCAN no SAS para extrair a enésima palavra de uma string.
Esta função usa a seguinte sintaxe básica:
SCAN (string, número)
Ouro:
- string : a string a ser analisada
- contagem : a enésima palavra a ser extraída
Aqui estão as três maneiras mais comuns de usar esse recurso:
Método 1: extrair a enésima palavra da string
data new_data;
set original_data;
second_word = scan (string_variable, 2 );
run ;
Método 2: extraia a última palavra da string
data new_data;
set original_data;
last_word = scan (string_variable, -1 );
run ;
Método 3: extrair várias palavras de uma string
data new_data;
set original_data;
first_word = scan (string_variable, 1 );
second_word = scan (string_variable, 2 );
third_word = scan (string_variable, 3 );
run ;
Os exemplos a seguir mostram como usar cada método com o seguinte conjunto de dados no SAS:
/*create dataset*/
data original_data;
input name $20. dirty;
datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data;
Exemplo 1: Extraia a enésima palavra da string
O código a seguir mostra como extrair a segunda palavra de cada string na coluna de nome :
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;
Observe que a nova coluna chamada second_word contém a segunda palavra de cada string na coluna name .
Exemplo 2: Extraia a última palavra da string
O código a seguir mostra como usar o valor -1 na função scan para extrair a última palavra de cada string na coluna de nome :
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;
Observe que a nova coluna chamada last_word contém a última palavra de cada string na coluna name .
Exemplo 3: Extraia várias palavras de uma string
O código a seguir mostra como usar a função scan para extrair cada palavra de cada string na coluna de nome :
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan (name, 1 );
second_word = scan (name, 2 );
third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;
Observe que três novas colunas foram criadas contendo a primeira, a segunda e a terceira palavra de cada string na coluna de nome .
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como usar a função SUBSTR no SAS
Como usar a função FIND no SAS
Como usar a função COALESCE no SAS