Como renomear variáveis em sas (com exemplos)


Você pode usar a função rename para renomear uma ou mais variáveis em um conjunto de dados SAS.

Esta função usa a seguinte sintaxe básica:

 data new_data;
    set original_data ( rename =(old_name=new_name));
run ;

Os exemplos a seguir mostram como usar esta função na prática com o seguinte conjunto de dados:

 /*create dataset*/
data original_data;
    input xyz;
    datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run ;

/*view dataset*/
proc print data = original_data; 

Exemplo 1: Renomear uma variável

O código a seguir mostra como renomear apenas a variável x no conjunto de dados:

 /*rename one variable*/
data new_data;
set original_data ( rename =(x=new_x));
run ;

/*view new dataset*/
proc print data = new_data;

Observe que x foi renomeado para new_x , mas todos os outros nomes de variáveis permaneceram os mesmos.

Exemplo 2: Renomear múltiplas variáveis

O código a seguir mostra como renomear as variáveis x e y no conjunto de dados.

Observe que você não precisa incluir vírgulas entre os novos nomes de variáveis.

 /*rename multiple variables*/
data new_data;
    set original_data ( rename =(x=new_x y=new_y));
run ;

/*view new dataset*/
proc print data=new_data; 

Exemplo 3: Adicione um prefixo a todas as variáveis

O código a seguir mostra como adicionar o prefixo _NEW a todas as variáveis no conjunto de dados:

 /*define prefix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', '_NEW', name)
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add prefix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

Exemplo 4: Adicione um sufixo a todas as variáveis

O código a seguir mostra como adicionar o sufixo _NEW a todas as variáveis no conjunto de dados:

 /*define suffix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', name, '_NEW')
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add suffix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como substituir valores ausentes por zero no SAS
Como remover duplicatas no SAS
Como normalizar dados no SAS

Add a Comment

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