Como adicionar números de linha no sas (com exemplos)


Você pode usar os seguintes métodos para adicionar números de linha a um conjunto de dados no SAS:

Método 1: adicione um número de linha

 data my_data2;
    row_number = _N_;
    set my_data1;
run;

Método 2: adicione um número de linha por grupo

 /*sort original dataset by var1*/
proc sort data =my_data1;
    by var1;
run ;

/*create new dataset that shows row number by var1*/
data my_data2;  
    set my_data1;
    by var1;
    if first.var1 then row_number= 0 ;
    row_number+ 1 ;
run ;

Os exemplos a seguir mostram como usar cada método com o seguinte conjunto de dados no SAS:

 /*create dataset*/
data my_data1;
    input team $points;
    datalines ;
Mavs 22
Mavs 40
Rockets 41
Rockets 29
Rockets 30
Spurs 18
Spurs 22
Spurs 27
Warriors 13
Warriors 19
;
run ;

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

Exemplo 1: Adicione um número de linha

O código a seguir mostra como adicionar uma nova coluna chamada row_number que contém o número da linha de cada observação:

 /*create new dataset with column for row numbers*/
data my_data2;
    row_number = _N_;
    set my_data1;
run ;

Observe que foi adicionada uma nova coluna chamada row_number que contém o número da linha de cada observação no conjunto de dados.

Exemplo 2: Adicione um número de linha por grupo

O código a seguir mostra como adicionar um número de linha por grupo:

 /*sort original dataset by team*/
proc sort data =my_data1;
    by var1;
run ;

/*create new dataset that shows row number by team*/
data my_data2;  
    set my_data1;
    by var1;
    if first.var1 then row_number= 0 ;
    row_number+ 1 ;
run ; 

A tabela resultante mostra o número da linha de cada equipe.

Observe que os números das linhas começam novamente para cada nova equipe.

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

Add a Comment

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