> sqrt(2)
O que o sistema na verdade executará quando pressionamos a tecla [↵] é o comando...
> print(sqrt(2))
como você pode verificar digitando o segundo comando acima. Um dos argumentos da função print() chama-se digits e serve para especificar quantos dígitos significativos antes e depois da vírgula serão mostrados, no mínimo. Por exemplo, usando a constante pré-determinada pi:
> pi
[1] 3.141593
> print( pi , digits = 3 )
[1] 3.14
> print( 10*pi , digits = 3 )
[1] 31.4
Aliás, digits é uma opção global de sistema e por definição os números são mostrados em R com sete dígitos significativos. (Estou abusando dos espaços entre os argumentos da função para tornar o código mais claro, seguindo o exemplo do John Kruschke. A linguagem R é bastante tolerante com isso.)
É mais comum, no entanto, estarmos interessados em limitar o número de dígitos depois do separador decimal, independentemente do número total de dígitos. A maneira mais simples é arredondar o número usando a função round():
É mais comum, no entanto, estarmos interessados em limitar o número de dígitos depois do separador decimal, independentemente do número total de dígitos. A maneira mais simples é arredondar o número usando a função round():
> round( pi, 3 )
[1] 3.142
Outra solução é usar a função format(), com seus argumentos digits (que funciona como na função print() acima) e nsmall. Esse segundo argumento determina o número mínimo de dígitos depois do separador decimal, respeitando o argumento digits. Para esclarecer:
> x
[1] 142.8571
> format( x , digits = 3 )
[1] "143"
> x
[1] 142.8571
Observe que a função format() arredonda corretamente, não destrói o conteúdo original do objeto formatado e, ao contrário de print() e round(), devolve no modo alfanumérico. Veja agora como os argumentos digits e nsmall se comportam juntos:
> x <- 1000/7
> format( x , digits = 4 )
[1] "142.9"
> format( x , digits = 4 , nsmall = 3 )
[1] "142.857"
> format( x , digits = 4 , nsmall = 12 )
[1] "142.857142857143"
> format( x , digits = 8 , nsmall = 1 )
[1] "142.85714"
Por fim, você pode usar essa função também para mudar o separador decimal de ponto para vírgula:
> format( pi , decimal.mark = "," )
[1] "3,141593"
Existem em R funções de formatação mais flexíveis, que usam especificações de formato no estilo da linguagem C de programação. Se você quiser se aventurar, comece estudando a função formatC().
Nenhum comentário:
Postar um comentário