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;

Função SCAN no SAS

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *