[R-br] RES: problemas com função "seq"

Alan Rodrigo Panosso arpanosso em yahoo.com.br
Segunda Maio 28 07:09:30 BRT 2012


round(seq(-0.6,0.8,by=0.2),2)

-----Mensagem original-----
De: r-br-bounces em listas.c3sl.ufpr.br
[mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Bernardo Rangel Tura
Enviada em: segunda-feira, 28 de maio de 2012 06:47
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] problemas com função "seq"

On 05/25/2012 12:40 PM, Alexandre Ribeiro Leichsenring wrote:
> Caros,
>
> Volta e meia me deparo com um comportamento estranho da função "seq", 
> compartilho agora um exemplo:
>
>  > seq(-.6,.8,by=.2)
>
> ao invés de resultar nisso:
>
> -.6  -.4  -.2  0  .2  .4  .6  .8
>
>   resulta nisso:
>
> -6.000000e-01 -4.000000e-01 -2.000000e-01 1.110223e-16
>   2.000000e-01 4.000000e-01  6.000000e-01  8.000000e-01
>
> !
>
> Outras sequências ao redor de zero resultam no mesmo "erro" (pelo 
> menos na minha máquina)... que tipo de problema será esse?
>
> Obrigado,
>
> Alexandre

Alexandre

de um forma muito simples em base binária só tem representação exata o
números inteiros e aqueles que podem ser escritos como potências de 2.

Desta forma nenhum dos 3 números têm representação exata logo numa sequência
irá ocorrendo pequeno erros. Todos os programas são assim e devemos corrigir
isto em nossa rotinas. Observe que:
seq(-6,8,by=2)/10

resolve seu problema


[]s
Tura
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.



Mais detalhes sobre a lista de discussão R-br