Импортируйте .csv с большими числами в R без научной нотации c - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть файл Microsoft Excel (.xlsx), который я хотел бы загрузить в R. Я делал это раньше и использовал read.csv(), который всегда работал нормально, но с этим файлом происходит нечто странное. Что-то кажется go неправильным с одним столбцом, который содержит имя строки и большие числа со значениями из 13 цифр. Этот столбец - независимо от того, как я пытаюсь загрузить файл в R - преобразуется в научную нотацию c.

Проблема может быть смоделирована следующим образом: в Excel введите первый столбец первой строки, случайное имя строки. Введите в первом столбце второй строки случайное большое число, например 6345157890027. Затем сохраните файл как .csv. Предположим, я хочу открыть этот файл в R: TestData <- read.csv(file = "Test.csv", head = TRUE), а затем View(TestData)

Число 6345157890027 теперь отображается как 6.345158e + 12, и информация теряется где-то во время импорта. Теперь я попытался решить эту проблему несколькими способами:

  • В файлах .xlsx и .csv я преобразовал строку в числовой формат
  • Перепробовал все форматы .csv что Excel позволяет мне сохранить его в
  • Копировать весь лист в новый файл Excel
  • Использовать функцию импорта данных в Excel
  • Сохранить лист в формате .txt и импортировать это в R с использованием функции File-> Import Dataset

Однако, ни один из них не решил проблему: значение всегда появляется в научной нотации c. Кто-нибудь знает способ убедиться, что Excel или R не преобразуют большие числа в научную нотацию c?

1 Ответ

0 голосов
/ 07 апреля 2020

вы можете использовать функцию as.bit64 из пакета bit64. Просто убедитесь, что не используете 64-битные числа для ссылки на другие объекты R. Это решение подходит для чисел, найденных в диапазоне +-2^63.

...