Как написать содержимое справки в файл из 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?
Ответы
Ответ 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
, которая позволяет отправить стандартный файл в файл