Gibt es eine einfache Möglichkeit festzustellen, ob ein R-Skript eine Funktion in einem geladenen Paket verwendet hat?

8

Wenn beispielsweise script.A ausgeführt wurde:

%Vor%

und dann script.B

%Vor%

Ich könnte sagen, dass script.A tatsächlich ggplot2 nicht verwendet hat, während script.B dies getan hat.

    
John Horton 18.08.2013, 15:25
quelle

2 Antworten

5

Laden Sie die Bibliothek normal und verfolgen Sie alle Funktionen in der Paketumgebung (und im Namespace). Ich werde eine kleine Hilfsfunktion verwenden, um dies zu tun:

%Vor%

Beispiel:

%Vor%

Diese zweite Anweisung wird benötigt, um sicherzustellen, dass Aufrufe wie data.table::xxx() ebenfalls abgefangen werden.

Beispiel:

%Vor%

Beachten Sie, dass der Code unterbrochen wurde.

    
Ferdinand.kraft 19.08.2013 12:02
quelle
0

Versuchen Sie Folgendes:

1) Geben Sie zuerst einen Aufruf library() für jedes Paket aus, für das Sie NICHT testen möchten. In diesem Fall gibt es nur ein Paket, das wir testen möchten, damit wir diesen Schritt überspringen können.

2) Führen Sie das Skript mit library dummied out:

aus %Vor%

Wenn Sie keine Fehler erhalten, hängt das Skript nicht vom Paket ab.

    
G. Grothendieck 18.08.2013 17:15
quelle

Tags und Links