[R] Logical operator in R

Rick Bilonick rab45 at pitt.edu
Fri Jan 22 16:54:14 CET 2016


On 01/22/2016 10:46 AM, li li wrote:
> Hi all,
>    I encountered the following strange phenomenon.
> For some reason, the obs_p[1] and res1$st_p[89] have
> the same value but when I run "==", it returns FALSE.
> Can anyone help give some explanation on this?
>    Thanks very much!
>      Hanna
>
>> obs_p[1]
> [1] 0.002201438
>> res1$st_p[89]
> [1] 0.002201438
>> res1$st_p[89]==obs_p[1]
> [1] FALSE
>> res1$st_p[89]<obs_p[1]
> [1] FALSE
>> res1$st_p[89]>obs_p[1]
> [1] TRUE
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
I believe the decimal representation is only approximate. The real 
internal values in binary are different. If you want to have comparisons 
like this result in being considered equal, I think there is a way to 
use a fuzzy comparison but I don't remember the details.

Rick

-- 
Richard A. Bilonick, PhD
Assistant Professor
Dept. of Ophthalmology, School of Medicine
Dept. of Biostatistics, Graduate School of Public Health
Dept. of Orthodontics, School of Dental Medicine
University of Pittsburgh
Principal Investigator for the Pittsburgh Aerosol Research
  and Inhalation Epidemiology Study (PARIES)
412 647 5756



More information about the R-help mailing list