Генерация графа вызовов в R

Мне дали большой кусок плохо отформатированного монолитного кода R с множеством функций, и я хотел бы выяснить, какие функции какие функции вызывают.

Я думал, что могу использовать материал @callGraph от roxygen, но а) код должен быть в пакете, что будет головной болью с этим кодом, и б) он даже не работает, когда я его запускаю на моем простом пакете. Я вижу сообщение от одного из авторов Roxygen, в котором говорится, что создание графа вызовов отключено из-за зависимости Rgraphviz, но код есть. В любом случае.

У кого-нибудь есть лучший способ быстро решить, что foo вызывает bar, baz и qux, а qux вызывает quux?

Edit: Решения, основанные на системе профилирования R, великолепны, если предположить, что вы действительно можете запустить код ... Половина вещей в файлах не запускается, и я не знаю, что они делают ... Думаю, на статический анализ слишком много надежд.

Редактировать 2: Граф вызовов Roxygen кажется, делает статический анализ, на основе рекурсивного спуска выражения функции и проверки is.callable. Было бы прекрасно иметь возможность запускать это для любой функции ... Я могу поиграть с этим завтра ...

29
задан Guy Coder 8 August 2012 в 21:26
поделиться