2016-09-16 2 views
1

Это довольно широкий вопрос, но я воспроизвел модель Excel в R. R производит почти те же результаты, что и excel, но всегда есть небольшое отклонение в диапазоне 10^8. Я предполагаю, что это связано с численной точностью. Модель использует только основные арифметические операции. Мой вопрос: был ли простой способ заставить R использовать ту же численную точность, что и Excel?Выравнивание числовой точности Excel 2013 и R

+2

Не больше, чем вы могли заставить бабочку закрыть свои крылья синхронно с осы. – Gregor

ответ

5

Возможно, нет. R всегда использует плавную точку с двойной точностью (т. Е. С 8 байтами), и, кажется, that's also what Excel uses.

Это действительно мягко удивительно, что результаты не идентичны, если вы выполняете простое арифметическое, но обратите внимание, что даже изменение последовательности арифметических операций может изменить результаты (т. Е. Арифметика с плавающей запятой не является ассоциативной: (a+b)+c != a+(b+c) , поэтому, если арифметика выполняется слева направо, a+b+c != c+b+a). Вероятно, невозможно даже узнать, что делает Excel под капотом, хотя this (который может применяться только к Excel 2003) указывает точки, по которым Excel отклоняется от стандарта IEEE 754, используемого R и большинства других числовых программ.

Вы мог быть в состоянии получить точное равенство, работая вверх от простых до более сложных примеров, видя, где происходит расхождение, и переставляя свои вычисления, чтобы избежать этой проблемы, но если это равенство не является чрезвычайно важным для вас/стоит вкладывая много усилий, вам может быть лучше тестировать приблизительное равенство.

Возможно, что экспорт в CSV теряет точность (см. here).

+0

Итак, я ничего не могу поделать, как изменить формат своего фрейма данных в начале, когда я читаю данные из Excel? Я подумал о сравнении данных в начале с оригиналом excel, чтобы увидеть, что что-то пошло не так уже на первом этапе. Я выполняю простые арифметические операции (я полагаю, что показатели или корни все еще считаются простыми?). Может ли возникнуть проблема с экспортом в CSV? В противном случае я буду отмечать его как ответ, хотя это не тот ответ, который я искал. –

Смежные вопросы