Aula 07 - Curso básico de programação em R.

Pacote dplyr, função near( ), precisão em comparação lógica no R

SAÍDAS INESPERADAS

sqrt(2) ^ 2 == 2 > [1] FALSE 1/49 * 49 == 1 > [1] FALSE Porque isso acontece? Os computadores usam a aritmética de precisão finita (eles obviamente não conseguem armazenar um número infinito de dígitos!) Então lembre-se de que cada número que você vê é uma aproximação. Para contornar esse problema ao invés de usar: == use o: near () Para isso instale o dplyr com o comando: install.packages("dplyr") Agora carregue o pacote para poder usar a função near( ) library(dplyr) near(sqrt(2) ^ 2,  2) > [1] TRUE near(1 / 49 * 49, 1) [1] TRUE # Seja x a idade de Maria. Não sabemos quantos anos ela tem. # Seja y a idade de João. Não sabemos quantos anos tem. y <- NA # João e Maria têm a mesma idade? x == y > [1] NA # Nós não sabemos!

Obrigado e até a próxima.