Можно создать дубликат:
Numeric comparison difficulty in RПервый круг из R ад. 0,1 = 0,3/3
Здравствуйте все,
Согласно "R Inferno" бумаги. Я сейчас в первом круге R ада. Это где pagans ожидают 0.1 == 0.3/3. В документе рекомендуется использовать функцию all.equal
для таких случаев, однако мне нужно проверить «> =» или «< =». При текущем примере из них не удалось:
> .1 >= .3/3
[1] TRUE
> .1 <= .3/3
[1] FALSE
Есть ли аналогичная функция для all.equal, которая проверяет неравенства?
Спасибо,
Илья
Это не особая ошибка R, а общая ошибка, вызванная двоичным представлением чисел с плавающей запятой. См. Например, http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems. – schnaader
Я знаю, почему возникает ошибка. Я хотел бы знать, есть ли функция R, которая может проверять неравенства, или мне нужно написать один с учетом плавающих точек. – ilya
да, мне нужно делать более качественные поиски – ilya