Ermitteln Sie in R Need: Fokussierte innerhalb R Suche und alle (3,500+) CRAN Pakete

StackOverflow https://stackoverflow.com/questions/1812702

  •  06-07-2019
  •  | 
  •  

Frage

Oft in R, gibt es ein Dutzend Funktionen über so viele Pakete verstreut -. Die alle den gleichen Zweck unterscheiden sich in der Genauigkeit, aber natürlich haben, Leistung, Dokumentation, theoretische Strenge, und so weiter

Wie diese Sie finden - aus R und sogar aus den Reihen der CRAN-Pakete, die Sie nicht installiert

So zum Beispiel: die generische Handlung Funktion. Sekundär Zecken Einstellung ist viel einfacher, mit einer Funktion außerhalb des Basispakets:

minor.tick(nx=n, ny=n, tick.ratio=n)

Natürlich Handlung ist in R-Kern, aber minor.tick ist nicht, es ist eigentlich in Hmisc .

Natürlich, die nicht in der Dokumentation zu Plot wird angezeigt , noch sollten Sie es erwarten.

Ein weiteres Beispiel: Daten-Eingabeargumente zu Handlung kann durch ein Objekt aus der Funktion zurück geliefert werden hexbin , wieder diese Funktion aus einer Bibliothek ist außerhalb von R-Kern.

Was offensichtlich wäre toll, ist ein programmatischer Weg, um diese Funktion Argumente aus den verschiedenen Bibliotheken zu sammeln und sie in einem einzigen Namensraum setzen?

* edit: (versucht, mein Beispiel erneut angeben, nur oben deutlicher :) die Argumente Handlung in R Kern geliefert, beispielsweise die Einstellung der Achse tick Frequenz sind xaxp / yaxp; jedoch kann man setzen auch a / t / f über eine Funktion außerhalb des Basispaketes, wieder, wie in der minor.tick Funktion aus dem Hmisc Paket - aber Sie würden nicht wissen, dass gerade aus auf dem Grundstück Methodensignatur suchen . Gibt es eine Meta-Funktion in R für das? *

Bisher, wie ich über sie kommen, ich habe sie manuell zu sammeln, wobei jeder Satz gesammelt in einer einzigen Textmate Schnipsel (zusammen mit den damit verbundenen Bibliothek Importe) . Das ist nicht so schwierig oder zeitaufwendig, aber ich kann nur meinen Schnipsel aktualisieren, wie ich über diese zusätzlichen Argumente / Parameter herauszufinden. Gibt es eine kanonische R Weg, dies zu tun, oder zumindest einen einfacheren Weg?

Nur für den Fall, dass nicht klar war, ich spreche nicht über den Fall, dass mehrere Pakete Funktionen auf die gleichen Statistik gerichtet liefern oder Ansicht (zB ‚boxplot‘ im Basispaket; ‚boxplot.matrix‘ in gplots; und 'bplots' in RLAB). Was ich spreche ist der Fall, in dem der Name der Funktion die gleiche über zwei oder mehr Pakete ist.

War es hilfreich?

Lösung

Das " sos " Paket ist eine hervorragende Ressource. Es ist primäre Schnittstelle ist das „ findFn “ Befehl, die einen String (Suchbegriff) und scannt die „Funktion“ Einträge in Johnathan Barons Website-Suche Datenbank akzeptiert und gibt die Einträge, die den Suchbegriff enthalten in ein Datenrahmen (die Klasse "findFn").

Die Spalten dieser Datenrahmen sind: Count , MaxScore , TotalScore , Paket , Funktion , Datum , Score , Beschreibung: und Link . Ein Klick auf „Link“ in jeder Zeile des Eintrags wird sofort nach oben zieht die Hilfeseite.

Ein Beispiel: Angenommen, Sie alle Faltungsfilter in allen 1800+ R-Pakete finden wollte.

library(sos)
cf = findFn("convolve") 

Diese Abfrage wird sich der Begriff „convolve“, mit anderen Worten, die nicht der Name der Funktion sein muss.

Keying in "cf" gibt eine HTML-Tabelle aller Treffer (23 in diesem Fall). Diese Tabelle ist ein HTML-Rendering des Datenrahmens ich gerade oben erwähnt. Besonders praktisch ist, dass jede Spalte ( „Count“, „MaxScore“, etc.) durch einen Klick auf den Spaltenkopf sortierbar ist, damit Sie die Ergebnisse von „Score“, von „Paketname“ sehen können, etc.

(Nebenbei bemerkt: Wenn die genaue Abfrage ausgeführt wird, eines der Ergebnisse war die Funktion „panel.tskernel“ in einem Paket namens „latticeExtra“ Ich war dieses Paket nicht bewusst, in ihm keine Zeitreihe Filter hatte und ich bezweifle. ich es sonst entdeckt hätte.

Andere Tipps

Ihre Frage ist nicht leicht zu beantworten. Es gibt nicht eine definitive Funktion.

formals ist die Funktion, die Namen Argumente zu einer Funktion und die Standardwerte in einer benannten Liste gibt, aber man kann immer variable Argumente durch den ... Parameter und versteckte benannten Argumente mit eingebetteter hadArg Funktion. Um eine Liste von denen bekommen würden Sie eine getAnywhere und scannen Sie dann den Ausdruck für die hasArg verwenden. Ich kann nicht glauben, von einer automatischen Art und Weise es selbst zu tun. Das heißt, wenn die Funktionen versteckt Argumente nicht dokumentiert sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top