2012-12-10 8 views
8

Die Writing R Extensions Handbuch heißt es:Wann sollten Daten in/Daten gehen und wann sollte es in/inst/extdata gehen?

Das Datenverzeichnis ist für Datendateien, entweder über Lazy-Laden oder zum Laden zur Verfügung gestellt werden Daten unter Verwendung von(). (Die Auswahl erfolgt über das Feld 'LazyData' in der Datei 'DESCRIPTION'; der Standardwert ist dies nicht.) Es sollte nicht für andere Datendateien verwendet werden, die von dem Paket benötigt werden, und die Konvention ist für die Verwendung des Verzeichnisses inst/extdata für solche Dateien.)

Aber es ist noch nicht klar, welche Daten von einem Paket "benötigt" werden. Ich mag Daten für die folgenden verwenden (nicht immer gegenseitig aus) Gründe:

  • Dokumentation
    • Funktion Beispiele
    • Funktion testet
    • Vignetten
  • um Zugang zu ein Originaldatensatz
  • , um Daten für Funktionen innerhalb des Pakets verfügbar zu machen (z.B. eine Lookup-Tabelle/Wörterbuch)

Aber es ist, welche dieser nicht klar im data Ordner gehen sollte, und die in inst/extdata gehen sollte. Und gibt es irgendwelche Bedingungen, unter denen "Daten" anderswo gehen sollten?

Verwandte Fragen: Zurück Fragen (z inst and extdata folders in R Packaging und Using inst/extdata with vignette during package checking R 2.14.0) geben einige Hinweise zur Anwendung, aber erzählen Sie mir nicht, wie zu entscheiden, welches Verzeichnis zu verwenden. Eine andere Frage, R - where should I place RDA file - /R, /data, /inst/extdata?, kommt am nächsten, scheint sich aber speziell auf RDA- und RData-Dateien zu konzentrieren.

Antwort

10

Das Verzeichnis data liefert Daten für die data()-Funktion. Es wird erwartet, dass bestimmte Zollbestimmungen in Bezug auf Dateiformate und Erweiterungen eingehalten werden.

Die inst/extdata Verzeichnis wird extdata/ wenn installiert und ist mehr ein wilder Westen und Sie können tun, was Sie wollen, und es wird erwartet, dass Sie Ihre eigenen Accessoren schreiben.

Es kann nützlich sein, sich mit empirics zu beschäftigen. Auf meiner Maschine, unter etwa 240-einige installierte Pakete, haben eine volle 77 (oder nicht ganz ein Drittel) data/, aber nur 4 (einschließlich einer von mir) haben extdata..

Verwandte Themen