R: Как я могу найти исходный код для синтаксического анализатора или интерпретатора формул R? - PullRequest
3 голосов
/ 03 марта 2020

Я ищу код синтаксического анализатора или интерпретатора базовой формулы R, который переводит пользовательские формулы в переменные и преобразования, используемые для привязки данных к матрице модели. Ряд пакетов имеет свои собственные интерпретаторы формул, которые дополняют или заменяют базовый интерпретатор R, например, rmutil, gamlss.nl, ttBulk.

Как минимум, следующие символы имеют особое значение в контексте формулы. Я ищу код, который реализует это значение.

~, 1, 0, +, -, *, /, :, ^, ., |, I, %in%

Кроме того, представленные ниже функции, кажется, используются главным образом в контексте формулы, но я не уверен, что они работают по-другому контекст. Некоторые могут иметь значение только в функциях подбора моделей за пределами lm или из определенных пакетов. В некоторых случаях я не уверен, что они имеют значение вне контекста формулы.

C
||
poly
offset
strata
cluster
contrasts
ns
lo
bs
s

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

Я также хотел бы получить полный список функций, которые означают что-то другое в формуле, если это возможно. В этих специальных значениях нет ничего в R Language Definition или в R Internals , и, например, methods("|") дает мне методы для шестнадцатеричного и восьмеричного. Лучшее обсуждение, которое я видел, по-прежнему Статистические модели в S , гл. 2, раздел 2.3.1, но я считаю, что это неполно и, возможно, также не смородина.

...