[R] findInterval() surprising behavior
Peter Dalgaard
pdalgd at gmail.com
Thu Oct 20 12:33:30 CEST 2016
It's a bug (left.open=FALSE code gets executed in some cases). Hoping to have a fix tested and in place before 3.3.2.
-pd
> On 17 Oct 2016, at 21:48 , Rui Barradas <ruipbarradas at sapo.pt> wrote:
>
> Hello,
>
> Same on Windows 7.
>
> > findInterval(x=c(6, 1, 1, 1), vec=c(0, 1, 3, 5, 10), left.open=TRUE)
> [1] 4 2 1 1
> > findInterval(x=c(4, 1, 1, 1), vec=c(0, 1, 3, 5, 10), left.open=TRUE)
> [1] 3 1 1 1
> > sessionInfo()
> R version 3.3.1 (2016-06-21)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 7 x64 (build 7601) Service Pack 1
>
> locale:
> [1] LC_COLLATE=Portuguese_Portugal.1252 LC_CTYPE=Portuguese_Portugal.1252
> [3] LC_MONETARY=Portuguese_Portugal.1252 LC_NUMERIC=C
> [5] LC_TIME=Portuguese_Portugal.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] lattice_0.20-33
>
> loaded via a namespace (and not attached):
> [1] tools_3.3.1 grid_3.3.1
>
> Rui Barradas
>
> Em 17-10-2016 20:03, Dmitriy Chernykh via R-help escreveu:
>> Hello,
>>
>> I call function findInterval in the following way:
>>
>> findInterval(x=c(6, 1, 1, 1), vec=c(0, 1, 3, 5, 10), left.open=TRUE),
>>
>> and expect that it will return 4 1 1 1. But the function returns 4 2 1 1 instead. Moreover, if I change the first element in x to, say, 4 -
>>
>> findInterval(x=c(4, 1, 1, 1), vec=c(0, 1, 3, 5, 10), left.open=TRUE)
>>
>> then the function returns 3 1 1 1.
>>
>> Why are results for identical elements in x not the same? And why is element in x influenced by previous one? I suspect this is a bug but I am not 100% sure.
>>
>> Technical details:
>>
>> sessionInfo()
>> R version 3.3.1 (2016-06-21)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>> Running under: Ubuntu 14.04.5 LTS
>>
>> locale:
>> [1] LC_CTYPE=ru_RU.UTF-8 LC_NUMERIC=C LC_TIME=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 LC_MONETARY=ru_RU.UTF-8
>> [6] LC_MESSAGES=ru_RU.UTF-8 LC_PAPER=ru_RU.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=ru_RU.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> loaded via a namespace (and not attached):
>> [1] tools_3.3.1
>>
>>
>> Thanks.
>>
>
> ______________________________________________
> 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.
More information about the R-help
mailing list