2017-04-08 6 views
0

Ich baute meine eigene Funktion und jedes Mal, wenn ich diese Funktion ausführen muss, muss ich das manuell tun. Gibt es eine Möglichkeit, dass ich es automatisch wie jedes R-Paket laden kann? Oder kann ich ein R-Paket erstellen, das nur von mir benutzt wird?Wie lade ich meine eigene Funktion automatisch als R-Paket?

+3

Ja, Sie können ein R-Paket erstellen, das nur von Ihnen verwendet wird. Wenn Sie es erstellen und es nicht verteilen, werden Sie der einzige Benutzer sein. Wie man ein Paket baut, kann im großen Buch von Hadley Wickham gefunden werden, frei zu lesen online: http://r-pkgs.had.co.nz/ –

+2

Auf einer Nebenbemerkung, bitte bedenken Sie, dass diese Art von sehr breite Fragen fallen nicht in den Anwendungsbereich von SO. Sehen Sie sich die Informationen an, probieren Sie sie aus und wenn es nicht wie geplant funktioniert, kommen Sie mit einer spezifischen Frage zurück, einschließlich eines Codebeispiels. Um Ihre Frage jetzt zu beantworten, müssen wir ein Buch schreiben. –

+0

Vielen Dank für Ihre Hilfe. Ich lese viel und suche Google für drei Tage. Die ganze Idee, die ich gefunden habe, ist für ein Paket, das wir dann verteilen müssen, wie ich es verstehe. Ich verstehe also, dass ich nach dem ersten Kommentar mein Paket erstellen kann und es nicht verteilen muss. Danke noch einmal. –

Antwort

0

Ich würde Nate Days Lösung empfehlen, aber Sie könnten auch Rs save() und load() Funktionen dazu verwenden. Es funktioniert auf allen R-Objekten und speichert sie in einer Binay-RDA-Datei. Sie können auch mehrere Objekte speichern.

Versuchen:

add <- function(x, y){return(x+y)}

save(add, file = 'add_function.rda')

Jedes Mal, wenn Sie Ihre Funktion benötigen, tun:

load('add_function.rda')

Und add() würde in der Elternumgebung zur Verfügung.

-2

Es gibt ein Paket namens pkgmaker auf CRAN, das eine Tonne von Werkzeugen und Dienstprogrammen für Sie hat, um Ihre eigenen Pakete zu erstellen. Als alternative Option können Sie ein functions.R Skript erstellen, mit dem Sie alle Ihre persönlich erstellten und häufig verwendeten Funktionen speichern können. Sie können die Zeile source('functions.R', local=TRUE) zu Ihren Programmen, Skripten oder Apps hinzufügen und Ihre Funktionen sind für Sie zugänglich. So behandle ich das Problem trotzdem. Prost

+0

'pkgmaker' ist ein Toolset für Low-Level-Utilities zur Paketentwicklung. Die Hauptwerkzeuge für die Paketbildung sind 'Rtools' auf Windows (kein Paket), das Paket' devtools', eine Anzahl von Basisfunktionen wie 'package.skeleton', die seit' devtools', 'roxygen2' und anderen kaum verwendet werden in RStudio integriert. Und sourcing die Funktion platziert es nur in der globalen Umgebung, wo es überschrieben werden kann. Das ist also auch keine Lösung. –

Verwandte Themen