Como arredondar números no sas (4 exemplos)


Você pode usar os seguintes métodos para arredondar números no SAS:

Método 1: arredondar para o número inteiro mais próximo

 data new_data;
    set original_data;
    new_value = round (value);
run ;

Método 2: arredondar para casas decimais específicas

 data new_data;
    set original_data;
    new_value1 = round (value, .1); /*round to 1 decimal place*/
    new_value2 = round (value, .01); /*round to 2 decimal places*/
    new_value3 = round (value, .001); /*round to 3 decimal places*/
run ;

Método 3: arredonde todos os valores para baixo (ou para cima) para o próximo número inteiro

 data new_data;
    set original_data;
    new_value1 = floor (value); /*round down to next integer*/
    new_value2 = ceil (value); /*round up to next integer*/
run ;

Método 4: arredondar para o múltiplo mais próximo

 data new_data;
    set original_data;
    new_value1 = round (value, 10); /*round to nearest multiple of 10*/
    new_value2 = round (value, 100); /*round to nearest multiple of 100*/
run ;

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

 /*create dataset*/
data original_data;
    inputvalue ;
    datalines ;
0.33
0.9
1.2593
1.61
2.89
4.3
8.8
14.4286
18.2
51.4
;
run ;

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

Exemplo 1: arredondar para o número inteiro mais próximo

O código a seguir mostra como arredondar cada valor para o número inteiro mais próximo:

 /*round to nearest integer*/
data new_data;
    set original_data;
    new_value = round (value);
run ;

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

Exemplo 2: Arredondamento para casas decimais específicas

O código a seguir mostra como arredondar valores para um número específico de casas decimais:

 data new_data;
    set original_data;
    new_value1 = round (value, .1); /*round to 1 decimal place*/
    new_value2 = round (value, .01); /*round to 2 decimal places*/
    new_value3 = round (value, .001); /*round to 3 decimal places*/
run ;

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

Exemplo 3: Arredonde todos os valores para baixo (ou para cima) para o próximo número inteiro

O código a seguir mostra como arredondar todos os valores para baixo (ou para cima) usando as funções floor() e ceil() :

 data new_data;
    set original_data;
    new_value1 = floor (value); /*round down to next integer*/
    new_value2 = ceil (value); /*round up to next integer*/
run ;

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

Método 4: arredondar para o múltiplo mais próximo

O código a seguir mostra como arredondar todos os valores para o múltiplo mais próximo de um valor:

 data new_data;
    set original_data;
    nearest10 = round (value, 10); /*round to nearest multiple of 10*/
    nearest100 = round (value, 100); /*round to nearest multiple of 100*/
run ;

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

Recursos adicionais

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

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

Add a Comment

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