Como usar a função compress no sas (com exemplos)
Você pode usar a função COMPRESS no SAS para remover caracteres específicos de uma string.
Esta função usa a seguinte sintaxe básica:
COMPRESS(String, caracteres a serem removidos)
Ouro:
- String : a string a ser analisada
- caracteres a serem removidos : um ou mais caracteres específicos a serem removidos da string
Aqui estão as quatro maneiras mais comuns de usar esse recurso:
Método 1: Remova todos os espaços em branco da string
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
Método 2: remover caracteres específicos da string
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
Método 3: Remova todos os caracteres alfabéticos da string
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
Método 4: Remova todos os valores numéricos da string
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
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 $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;
Exemplo 1: Remova todos os espaços em branco da string
O código a seguir mostra como remover todos os espaços em branco de cada string na coluna de nome :
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;
Observe que todos os espaços em branco foram removidos de cada string na nova coluna chamada tablet_name .
Exemplo 2: Remover caracteres específicos da string
O código a seguir mostra como remover todos os pontos de interrogação e exclamação de cada string na coluna de nome :
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;
Observe que todos os pontos de interrogação e exclamação foram removidos de cada string na nova coluna chamada tablet_name .
Exemplo 3: Remover todos os caracteres alfabéticos da string
O código a seguir mostra como remover todos os caracteres alfabéticos de cada string na coluna de nome :
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;
Observe que todos os caracteres alfabéticos foram removidos de cada string na nova coluna chamada tablet_name .
Exemplo 4: Remova todos os valores numéricos da string
O código a seguir mostra como remover todos os valores numéricos de cada string na coluna de nome :
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;
Observe que todos os valores numéricos foram removidos de cada string na nova coluna chamada tablet_name .
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