Dostałem dużą porcję źle sformatowanego monolitycznego kodu R z mnóstwem funkcji i chciałbym się dowiedzieć, jakie funkcje wywołują funkcje.Generowanie wykresu wywołań w R
Pomyślałem, że mogę użyć rzeczy roxygena @callGraph, ale a) kod musi znajdować się w pakiecie, który będzie ból głowy z tym kodem, i b) nawet nie wydaje się działać, gdy biegnę to na moim prostym pakiecie. Widzę wiadomość od jednego z autorów Roxygen mówiącą, że generowanie wykresów połączeń jest wyłączone z powodu zależności Rgraphviz, ale kod tam jest. Tak czy inaczej.
Ktoś ma lepszy sposób szybkiego opracowywania tego foo call bar, baz i qux, a qux wywołuje quux?
Edytuj: Rozwiązania oparte na systemie profilowania R są świetne, zakładając, że możesz uruchomić kod ... Połowa rzeczy w plikach nie działa, a ja nie wiem, co robi ... Statyczny Analiza jest zbyt duża, by można się było spodziewać, jak sądzę.
Edycja 2: Grafy wywołania Roxygen wydają się wykonywać statyczną analizę, opartą na rekurencyjnym zejściu wyrażenia funkcji i sprawdzeniu, czy is.callable. Byłoby wspaniale móc uruchomić to w dowolnej funkcji ... Mogę grać z tym jutro ...
Zastanawiałem się nad pomysłem napisania funkcji, która zrobiłaby coś takiego. I tak było w tym czasie, kiedy opublikowałeś powyższy wpis na blogu. Wielkie umysły myślą podobnie? :) –
Prawie dokładnie to, po czym byłem. Teraz, aby włączyć wyjście do formatu kropki, lub może załadować go do jakiegoś innego pakietu graficznego R ... – Spacedman