[R] I can't get seq to behave how I think it should
Ben Tupper
btupper @end|ng |rom b|ge|ow@org
Thu Jan 17 14:43:21 CET 2019
Hi,
This looks like a floating point reality bump - see
https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f <https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f>
You can use other methods to finding your row - I would opt for findInterval()
> lut = seq(1.4, 2.1, by=0.001)
> findInterval(1.8, lut)
[1] 401
findInterval() uses a rapid search to find the index in the look up table (lut) that is just less than or equal to the search value (in your example 1.8).
Cheers,
Ben
> On Jan 17, 2019, at 8:33 AM, POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS FOUNDATION TRUST) via R-help <r-help using r-project.org> wrote:
>
> I am using seq with the expression seq(1.4, 2.1, by=0.001) to create a sequence of references from 1.4 to 2.1 in 0.001 increments. They appear to be created correctly. They have a related pair of data which for the purposes of this we will call val. I'm interested in the content on the row with seq = 1.8. But I can't seem to get it returned. I can get other values but not 1.8! yet looking at row 401 there is nothing to indicate an issue
>
>> a = 1.4
>> b = 2.1
>> seq = seq(a, b, by=0.001)
>> val = ceiling(seq * 50)
>> s=data.frame(seq, val)
>> s$val[seq==1.799]
> [1] 90
>> s$val[s$seq==1.8]
> numeric(0)
>> s$val[seq==1.8]
> numeric(0)
>> s$val[s$seq==1.800]
> numeric(0)
>> s$val[s$seq==1.801]
> [1] 91
>> head(s[s$seq>1.798,])
> seq val
> 400 1.799 90
> 401 1.800 90
> 402 1.801 91
> 403 1.802 91
> 404 1.803 91
> 405 1.804 91
>
>
> Can anyone explain what's going on here and how I would correctly find the content of row 401 by using an expression to equal the seq column?
>
>
>
>
>
> ********************************************************************************************************************
>
> This message may contain confidential information. If ...{{dropped:25}}
More information about the R-help
mailing list