Wie kann man ein installiertes R-Paket in RStudio debuggen (Unterbrechungspunkt setzen usw.)?

9

Ich muss eine Funktion Zeile für Zeile ausführen, um zu verstehen, wie es funktioniert. Aber die Funktion ist Teil eines installierten Pakets und ich weiß nicht, wo R die Quelle der installierten Pakete speichert (zB MultiPhen). Ich benutze RStudio 0.98.501 und R 3.0.2 in Ubuntu 12 (64it). Anscheinend wird der Quellcode der installierten Pakete nicht gespeichert, oder? Tut mir leid, wenn es eine naive Frage ist, ich bin neu in R. Wenn die Quellen nicht gespeichert werden, ist es sowieso nötig, ein Paket mit Source neu zu installieren und es zu debuggen (grundsätzlich einen Breakpoint zu setzen).

Danke,

Kayhan

    
kayhan 24.02.2014, 22:58
quelle

2 Antworten

11

Sehen Sie sich trace an. Hier ist ein Beispiel, das einen Breakpoint an der vierten Anweisung in der Basispaketfunktion var hinzufügt. Hier fragen wir trace , um die Funktion browser bei der sechsten Anweisung aufzurufen:

%Vor%

Denken Sie an untrace , wenn Sie fertig sind. Sie können mit trace ziemlich komplexe Sachen machen, obwohl in den meisten Fällen trace(fun.name, browser) wahrscheinlich genug ist.

Alternativ können Sie auch einfach das Paket laden und den Namen der Funktion in der Befehlszeile wie folgt eingeben:

%Vor%

Sie können das dann in Ihren Editor kopieren und damit herumspielen, Ihre browser -Anweisung hinzufügen und die Ergebnisse durchgehen.

    
BrodieG 24.02.2014, 23:21
quelle
1
  1. Ich denke, wenn Sie install.packages('MultiPhen') eingeben, erhalten Sie eine Binärversion des Pakets. Ich denke, dass es keinen Weg gibt, einen Breakpoint und Step-Thru-Code mit dieser Version des Pakets zu setzen.

  2. Alle R-Pakete sind Open Source und die Quelle ist auf der CRAN-Seite für das Paket verfügbar. Zum Beispiel das ist die CRAN-Seite für MultiPhen. Wenn Sie auf den Link neben dem Text "Paketquelle:" klicken, laden Sie die Quelle herunter.

  3. In Bezug auf was zu tun, wenn Sie die Quelle haben: Alle R-Pakete haben die gleiche Verzeichnisstruktur. Was für Ihre Situation wichtig ist, ist, dass sich der gesamte R-Code für das Paket im Verzeichnis "R" befindet.

Ich empfehle, das Paket von RStudio zu deinstallieren und den Code im Verzeichnis "R" zu speichern, indem Sie die Breakpoints und den Step-Thru-Code einstellen, wie Sie möchten.

Bitte lassen Sie uns wissen, wenn dies Ihr Problem löst.

    
Ari 24.02.2014 23:25
quelle

Tags und Links