Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Экспорт из R в Excel и Word: таблицы и формат

Экспорт из R в Excel и Word: таблицы и формат

Как выгрузить результаты из R в Excel и Word: пакеты writexl, openxlsx, flextable и officer, кодировка, разделители, форматирование чисел и защита от формул.

Экспорт из R в Excel и Word: таблицы и формат

Анализ заканчивается не графиком, а таблицей, которую нужно отдать соавтору, редактору или в отчёт. На этом шаге чаще всего теряются десятичные разделители, кодировка и форматирование чисел.

Ниже — практический порядок выгрузки из R в Excel и Word без ручной пересборки.

Зачем экспортировать из R, а не копировать

Копирование из консоли или просмотрщика теряет типы: числа становятся текстом, даты — строками, а названия колонок ломаются на пробелах.

Скрипт экспорта воспроизводим: при обновлении данных таблицу можно собрать заново с теми же правилами округления и оформления.

Excel: writexl и openxlsx

writexl — минималистичный пакет без зависимостей от Java. Он быстро пишет список таблиц в один файл, но не даёт тонкого оформления.

openxlsx умеет задавать стили, ширину колонок, закрепление строк и формат чисел. Если нужна готовая «человеческая» таблица с заголовками и границами, обычно выбирают его.

Для нескольких листов передайте именованный список: имена станут названиями листов.

Кодировка и разделители

CSV остаётся самым совместимым форматом, но Excel на разных локалях читает разделитель по-разному. В русской локали это точка с запятой, в английской — запятая.

Получить корректный CSV для Excel в R позволяет readr::write_excel_csv(): функция добавляет BOM, и Excel правильно определяет UTF-8. Без BOM кириллица превращается в «кракозябры».

Проверяйте файл не только в R, но и в Excel: открытие в текстовом редакторе ничего не доказывает.

Форматирование чисел

Решите заранее, сколько знаков после запятой нужно в каждой колонке. Разная точность в одной таблице выглядит небрежно и затрудняет сравнение.

Для публикации часто достаточно двух знаков для долей и целых для счётчиков. Не показывайте больше знаков, чем позволяет точность метода.

Если в таблице есть пропуски, задайте единый способ их обозначения: пустая ячейка, «н/д» или прочерк. Смешение вариантов усложняет чтение.

Word: flextable и officer

flextable собирает таблицу с заголовками, объединёнными ячейками, сносками и условным выделением. officer собирает документ целиком: титул, разделы, вставку таблиц и рисунков.

Связка позволяет получить готовый отчёт без копирования вручную. При обновлении анализа документ пересобирается одной командой.

Проверьте после сборки ширину колонок: длинные подписи переносятся и ломают вёрстку страницы.

Защита от формул в данных

Ячейка, начинающаяся с =, +, - или @, может быть воспринята Excel как формула. Если данные пришли извне, это создаёт риск инъекции.

Об этом прямо предупреждает OWASP в описании CSV Injection. Для исследовательских таблиц риск ниже, но привычка экранировать подозрительные строки полезна, особенно если файл уйдёт дальше в организацию.

Что приложить к выгрузке

Короткое описание: какие данные, за какой период, как считаны пропуски и что означают сокращения. Таблица без описания через месяц становится загадкой.

Если таблица идёт в статью, сохраните и версию файла, из которой строились графики: расхождения между таблицей и рисунком замечают быстро.

Частые ошибки

  • копирование из консоли вместо экспорта;
  • CSV без BOM и потерянная кириллица;
  • разные разделители в одной папке;
  • числа как текст;
  • разная точность в колонках;
  • слипшиеся строки из-за ширины колонок;
  • отсутствие описания к файлу.

Числа, даты и логические значения

Excel хранит даты как числа с форматом отображения. Если колонка дат попадёт в файл без явного формата, часть значений может стать текстом.

Логические значения экспортируйте как ИСТИНА/ЛОЖЬ или 1/0, но не смешивайте варианты. Для дальнейшей обработки надёжнее 1/0.

Проверка после открытия

Откройте файл на компьютере с другой локалью и посмотрите на числа и даты. Расхождение обнаруживается именно там, а не на вашей машине.

Сверьте число строк: иногда пустая строка в конце или заголовок, записанный дважды, незаметно меняет структуру таблицы.

Скрытые листы и формулы

Если в книге остались формулы, при открытии в другом приложении они могут не пересчитаться. Экспортируйте значения там, где дальнейшая работа с формулами не нужна.

Скрытые листы и большой объём оформления увеличивают файл. Для передачи данных оставляйте только нужное.

Имена листов и структура книги

Имена листов не должны содержать запрещённых символов и превышать лимит длины. Короткие латинские имена надёжнее: они не ломаются при экспорте и в скриптах.

Порядок листов задавайте осмысленно: сводка, затем детали. Читатель открывает книгу и сразу видит главное, а не сырые выгрузки.

Чек-лист

  • Формат выбран под задачу: xlsx, CSV или Word.
  • Кодировка проверена в целевом приложении.
  • Разделитель соответствует локали.
  • Точность чисел задана явно.
  • Пропуски обозначены единообразно.
  • Ширина колонок проверена.
  • К файлу приложено описание.

Частые вопросы

Что выбрать: writexl или openxlsx?

writexl проще и быстрее, если нужен только файл с данными. openxlsx — если требуется оформление и форматирование.

Почему в Excel вместо цифр появились даты?

Excel автоматически распознаёт похожие строки. Задайте формат колонки как текстовый или экспортируйте через xlsx с явным типом.

Можно ли сделать таблицу сразу в Word?

Да, через flextable и officer. Это удобно для отчётов, но для правок соавторов иногда проще Excel.

Как передать таблицу в LaTeX?

Есть пакеты для экспорта в LaTeX-таблицы. Проверьте результат в компиляции: переносы и выравнивание могут отличаться.