Мне дали большой кусок плохо отформатированного монолитного R-кода с большим количеством функций, и я хотел бы выяснить, какие функции вызывают функции.
Я думал, что могу использовать материал roxygen @callGraph, но: а) код должен быть в пакете, который будет головной болью с этим кодом, и б) он даже не работает, когда я его запускаю на простой мой пакет. Я вижу публикацию от одного из авторов Roxygen, говорящего о том, что генерация графа вызовов отключена из-за зависимости Rgraphviz, но код есть. Так или иначе.
У кого-нибудь есть лучший способ быстро разработать эту панель вызовов foo, baz и qux, а qux вызывает quux?
Изменить: Решения, основанные на R-профилирующей системе, великолепны, если вы действительно можете запустить код... Половина материала в файлах не запускается, и я не знаю, что он делает... Статический анализ Наверное, слишком много надеяться.
Редактирование 2: материал графического представления Roxygen, похоже, выполняет статический анализ, основанный на рекурсивном спуска выражения функции и проверки на is.callable. Было бы прекрасно, если бы можно было запустить это на любой функции... Я могу играть с этим завтра...