Concise and perfect answer. Thanks!
I'm surprised I never came across this issue before (4 years playing with R).
Jose
Quoting Erik Iverson <er...@ccbr.umn.edu>:
FAQ 7.31
j.delashe...@ed.ac.uk wrote:
It is a strange behaviour in that I did not expect it... but I am
sure there is a simple explanation for it and it'll have to do with
the way numbers are stored in R, but it's caught me by surprise
and I don't find it obvious.
Here's a simplified example reproducing the behaviour I encountered:
I create an empty vector, and I fill it with a sequence of numbers:
0, 0.005, 0.01, 0.015, 0.02, etc... until 0.1.
(In my real code this is just a way to store certain values when
certain conditions are met etc etc)
Then I ask which element contains teh value 0.01. Ok. Same with
0.02. But when I ask about 0.03 or above... the answer is none. But
I can see "0.03" in my vector, it is there!
This must be because of the value stored internally. Indeed, if I do:
v-0.03, when I reach the value that appeared to contain 0.03, I
don't obtain zero, but "3.47e-18"
why is this?
what is the recommended way to overcome this?
Interestingly, if I store the values as "character", then I can
match them fine...
Below is the code, and my sessionInfo() output.
Thanks!
Jose de las Heras
code example:
#v<-vector(mode="character")
v<-c()
i<-0
while (i <= 0.1)
{
v<-c(v,i)
i<-i+0.005
}
v
which(v==0.01)
which(v==0.02)
which(v==0.03)
sessionInfo()
R version 2.10.0 (2009-10-26)
i386-pc-mingw32
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] biomaRt_2.2.0
loaded via a namespace (and not attached):
[1] RCurl_1.3-1 tools_2.10.0 XML_2.6-0
--
Dr. Jose I. de las Heras Email: j.delashe...@ed.ac.uk
The Wellcome Trust Centre for Cell Biology Phone: +44 (0)131 6513374
Institute for Cell & Molecular Biology Fax: +44 (0)131 6507360
Swann Building, Mayfield Road
University of Edinburgh
Edinburgh EH9 3JR
UK
*********************************************
NEW EMAIL from July'09: nach.mcn...@gmail.com
*********************************************
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
______________________________________________
R-help@r-project.org mailing list
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.