Экспорт большого числа в CSV из R - PullRequest
0 голосов
/ 22 марта 2019

Я столкнулся со странной проблемой при попытке экспортировать R-кадр данных в CSV-файл.Фрейм данных содержит несколько больших чисел, но когда они записываются в файл csv, они «теряют» десятичную часть и вместо этого записываются без нее.Но не так, как можно было бы ожидать, а вот так:

Скажем, 3224571816.5649 - правильное значение в R. При записи в csv оно становится 32245718165649.

Я использую функцию write.csv2 длянаписать CSV.Разделители верны, так как он работает нормально для меньших значений.Возникает ли проблема из-за того, что число (с десятичными числами) больше 32-битного?

И что более важно, как я могу решить эту проблему, поскольку у меня есть целый массив данных со значениями, большими (или большими), чем эта?Кроме того, это должно быть записано в CSV.

1 Ответ

0 голосов
/ 22 марта 2019

write.csv2 предназначен для другого стандарта csv (западноевропейский стиль, который основан на использовании вами «.» В качестве десятичного индикатора, я полагаю, вы не ищете).write.csv2 использует запятую в качестве десятичного индикатора и точку с запятой в качестве разделителя полей, поэтому, если вы пытаетесь считать результат в виде файла, разделенного запятыми, это будет выглядеть странно.

Я предлагаю вам использоватьwrite.csv (или даже лучше, write.table) для вывода вашего файла.write.csv предполагает разделитель запятой и точку для десятичного маркера.

и write.csv, и write.csv2 являются просто оболочками для write.table, который является базовым методом.В общем, я рекомендую использовать write.table, потому что он не предполагает ваш регион, и вы можете явно передать его sep = ",", dec = "." И т. Д. Это не только позволяет вам точно знать, что вы используете,но это также делает ваш код намного более читабельным.

, чтобы узнать больше, посетите сайт rdocumentation.org для write.table: https://www.rdocumentation.org/packages/utils/versions/3.5.3/topics/write.table

...