Como usar a função floor no sas
Você pode usar a função FLOOR no SAS para retornar o maior número inteiro menor ou igual a um valor numérico.
O exemplo a seguir mostra como usar a função FLOOR na prática.
Nota : O oposto da função FLOOR no SAS é a função CEIL .
Exemplo: como usar a função FLOOR no SAS
Digamos que temos o seguinte conjunto de dados no SAS que contém informações sobre a média de itens vendidos por vários funcionários de uma empresa:
/*create dataset*/
data my_data;
input employee $avg_sales;
datalines ;
Andy 12.3
Bob 14.5
Chad 8.44
Derrick 12.87
Eric 8.01
Frank 10
George 11.5
Henry 11.99
Isaac 7.64
;
run ;
/*view dataset*/
proc print data =my_data;
Podemos usar a função FLOOR para retornar o maior número inteiro menor ou igual a cada valor numérico na coluna avg_sales :
/*create new dataset*/
data new_data;
set my_data;
floor_avg_sales = floor (avg_sales);
run ;
/*view new dataset*/
proc print data =new_data;
Observe que a nova coluna chamada floor_avg_sales contém o maior número inteiro menor ou igual a cada valor numérico na coluna avg_sales .
Por exemplo:
- O valor 12,30 passa a ser 12 .
- O valor 14,50 torna-se 14 .
- O valor 8,44 torna-se 8 .
- O valor 12,87 torna-se 12 .
E assim por diante.
A diferença entre as funções FLOOR e INT
A função INT no SAS retorna a parte numérica inteira dos valores numéricos.
Para valores positivos, as funções FLOOR e INT retornarão exatamente os mesmos números.
No entanto, as funções FLOOR e INT retornarão valores diferentes para números negativos.
Considere o seguinte conjunto de dados como exemplo:
/*create dataset*/ data my_data; input employee $avg_sales; datalines ; Andy 12.3 Bob 14.5 Chad 8.44 Derrick -12.87 Eric -8.01 /*create new dataset*/ data new_data; set my_data; floor_avg_sales = floor (avg_sales); int_avg_sales = int (avg_sales); run ; /*view new dataset*/ proc print data = new_data;
Para valores numéricos positivos, as funções FLOOR e INT retornam os mesmos resultados.
No entanto, eles não retornam os mesmos resultados para valores numéricos negativos.
A função FLOOR basicamente arredonda os números negativos para o próximo número inteiro, enquanto a função INT arredonda os números negativos para o próximo número inteiro.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como arredondar números no SAS
Como remover vírgulas de strings no SAS
Como exibir valores em formato percentual no SAS