Я читаю исходный код R FAQ в texinfo и думаю, что было бы проще управлять и расширять, если бы он анализировался как структура R. Есть несколько существующих примеров, связанных с этим:
пакет удачи
записи bibtex
Rd-файлы
каждый с некоторыми желаемыми функциями.
По моему мнению, часто задаваемые вопросы недоиспользуются в сообществе R, потому что им не хватает i )легкого доступа из команды R -строки (, т.е. через пакет R ); ii )мощные функции поиска; iii )перекрестные -ссылки; iv )расширения для предоставленных пакетов. Черпая идеи из пакетов bibtex
и fortunes
, мы могли бы представить себе новую систему, в которой:
Часто задаваемые вопросы можно найти в R. Типичные вызовы будут напоминать интерфейс fortune()
:faq("lattice print")
. или faq() #surprise me!
, faq(51)
, faq(package="ggplot2")
.
Пакеты могут предоставлять свои FAQ.rda
, формат которых пока не ясен (см. ниже)
Sweave
/ knitr
предоставляются драйверы для вывода в хорошем формате Markdown/LaTeX и т. д.
ВОПРОС
Однако я не уверен, какой формат ввода лучше . Либо для преобразования существующего FAQ, либо для добавления новых записей.
Довольно громоздко использовать синтаксис R с деревом вложенных списков (или специальной ссылкой S3/S4/ref class
или structure
,
\list(title = "Something to be \\escaped", entry = "long text with quotes, links and broken characters", category = c("windows", "mac", "test"))
Rd
. документация, хотя это и не структура R как таковая (, а скорее подмножество LaTeX со своим собственным синтаксическим анализатором ), возможно, может предоставить более привлекательный пример формата ввода. Он также имеет набор инструментов для разбора структуры в R. Однако его текущая цель довольно специфична и отличается, поскольку он ориентирован на общую документацию по функциям R, а не на ответы на часто задаваемые вопросы. Его синтаксис также не идеален,Я думаю, что более современная разметка, что-то вроде уценки, была бы более удобочитаемой.
Есть ли что-то еще, может быть, примеры разбора файлов уценки в структуры R? Пример отклонения файлов Rd от их предназначения?
Подводя итог
Я хотел бы придумать:
1 -хороший дизайн для класса R-структуры (, возможно, )который расширил бы пакет fortune
до более общих записей, таких как элементы часто задаваемых вопросов
2 -более удобный формат для ввода новых часто задаваемых вопросов (вместо текущего формата texinfo)
3 -синтаксический анализатор, написанный либо на R, либо на другом языке (bison? ), чтобы преобразовать существующий FAQ в новую структуру (1 )и/или новый формат ввода (2 )в структуру R.
Обновление 2 :за последние два дня баунти-периода я получил два ответа, оба интересные, но совершенно разные. Поскольку вопрос довольно обширный, (возможно, плохо -поставлен ), ни один из ответов не дает полного решения, поэтому я все равно не буду (сейчас )принимать ответ. Что касается вознаграждения, я отнесу его к ответу, за который проголосовало больше всего -до истечения срока действия вознаграждения, желая, чтобы был способ разделить его более равномерно.