[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