Отредактировано с предложением Хэдли
Вы можете сделать это немного проще:
getHTMLhelp <- function(...){
thefile <- help(...)
capture.output(
tools:::Rd2HTML(utils:::.getHelpFile(thefile))
)
}
Использование tools:::Rd2txt
вместо tools:::Rd2HTML
даст вам простой текст. Простое получение файла (без разбора) дает вам исходный формат Rd, поэтому вы можете написать свою собственную функцию разбора, чтобы разобрать его в объект (см. Решение @Jeroen, которое отлично справляется с извлечением всей информации в список ).
Эта функция принимает те же аргументы, что и help()
, и возвращает вектор, где каждый элемент является строкой в файле, например:
> head(HelpAnova)
[1] "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
[2] "<html><head><title>R: Anova Tables</title>"
[3] "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"
[4] "<link rel=\"stylesheet\" type=\"text/css\" href=\"R.css\">"
[5] "</head><body>"
[6] ""
Или:
> HelpGam <- getHTMLhelp(gamm,package=mgcv)
> head(HelpGam)
[1] "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
[2] "<html><head><title>R: Generalized Additive Mixed Models</title>"
[3] "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"
[4] "<link rel=\"stylesheet\" type=\"text/css\" href=\"R.css\">"
[5] "</head><body>"
[6] ""