Mi è stata data una grossa porzione di codice R monolitico formattato in modo scadente con un sacco di funzioni, e mi piacerebbe capire quali funzioni chiamano quali funzioni.Generazione di un grafico di chiamata in R
Ho pensato che potrei usare roxygen's @callGraph, ma a) il codice deve essere in un pacchetto, che sarà un mal di testa con questo codice, eb) non sembra nemmeno funzionare quando eseguo su un mio semplice pacchetto. Vedo un post di uno degli autori di Roxygen che dice che la generazione del grafo delle chiamate è disabilitata a causa della dipendenza da Rgraphviz, ma il codice è presente. Comunque.
Chiunque ha un modo migliore di elaborare rapidamente le chiamate di foo bar, baz e qux e qux chiama quux?
Modifica: le soluzioni basate sul sistema di profilazione di R sono ottime, presupponendo che sia possibile eseguire il codice ... La metà dei file nei file non viene eseguita e non so cosa faccia ... Statico l'analisi è troppo sperare, suppongo.
Modifica 2: le informazioni sul grafico delle chiamate di Roxygen sembrano eseguire un'analisi statica, basata sulla discesa ricorsiva dell'espressione della funzione e il controllo di is.callable. Sarebbe bello essere in grado di eseguire questo su qualsiasi funzione ... Potrei giocare con questo domani ...
Stavo riflettendo sull'idea di scrivere una funzione che avrebbe fatto qualcosa del genere. E quello era giusto nel momento in cui hai pubblicato il post sul blog di cui sopra. Grandi menti pensano allo stesso modo? :) –
Praticamente esattamente quello che stavo cercando. Ora per trasformare l'output in formato punto, o magari caricarlo in qualche altro pacchetto grafico R ... – Spacedman