Подтвердить что ты не робот

Как написать содержимое справки в файл из R?

Я хотел бы написать содержимое файла справки в R в файл из R. В командной строке:

  • R --slave -e 'library(MASS); help(survey)' > survey.txt
    • Эта команда записывает файл справки для файла данных опроса
    • --slave скрывает как начальную подсказку, так и команды, введенные с итоговый результат
    • -e '...' отправляет команду в R
    • > survey.txt записывает вывод R в файл survey.txt

Однако это не работает:

library(MASS)
sink("survey.txt")
help(survey)
sink()
  • Как сохранить содержимое файла справки в файл из R?
4b9b3361

Ответ 1

Похоже, что две функции, которые вам нужны, это tools:::Rd2txt и utils:::.getHelpFile. Это выводит файл справки на консоль, но вам, возможно, придется поиграть с аргументами, чтобы заставить его записывать файл так, как вы хотите.

Например:

hs <- help(survey)
tools:::Rd2txt(utils:::.getHelpFile(as.character(hs)))

Поскольку эти функции в настоящее время не экспортируются, я бы не рекомендовал вам полагаться на них для любого производственного кода. Было бы лучше использовать их в качестве руководства для создания собственной стабильной реализации.

Ответ 2

В то время как инструкции Джошуа работают отлично, я наткнулся на другую стратегию сохранения файла справки R; Поэтому я решил поделиться этим. Он работает на моем компьютере (Ubuntu), где less является пейджером R. По сути, это просто сохранение файла из less.

  • help(survey)
  • Затем следуйте этим инструкциям, чтобы сохранить буфер less в файл
    • i.e., введите g|$tee survey.txt
      • g переходит в верхнюю часть меньшего буфера, если вы еще не там.
      • | текст труб между диапазоном, начинающимся с текущей метки
      • и заканчивается на $, который указывает конец буфера
      • к команде оболочки tee, которая позволяет отправить стандартный файл в файл