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?
Antwort
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.
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
'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. –
- 1. Wie lade ich rvm automatisch?
- 2. Wie registriere ich meine eigene Firefox Erweiterung?
- 3. Wie lade ich meine Eigenschaftendatei?
- 4. Wie lade ich eine Sammlungsansicht automatisch neu?
- 5. Wie erstelle ich meine eigene Pytest-Halterung?
- 6. Wie mache ich meine eigene benutzerdefinierte Laufzeitfehlerklasse?
- 7. Wie kann ich meine eigene Observable anpassen?
- 8. Wie deklariere ich meine eigene CGRectZero-Konstante?
- 9. Wie benutze ich meine eigene SQLite-Datenbank?
- 10. Wie kann ich meine eigene Klasse initialisieren?
- 11. Wie kann ich meine eigene API abfragen?
- 12. Wie kann ich meine eigene UITabBar erstellen?
- 13. Wie erstelle ich meine eigene Präferenzklasse
- 14. Wie kann ich meine eigene Klasse verbinden?
- 15. Wie ich meine eigene Android-Bibliothek erstellen und hosten
- 16. Wie lade ich meine Testdaten in C#?
- 17. Wie lade ich meine React-Komponente bedingt?
- 18. Ich kann nicht meine Zeichnung auf der Leinwand als eigene Funktion
- 19. Soll ich meine eigene GridView-Implementierung schreiben?
- 20. meine eigene Programmiersprache
- 21. Wie installiere ich die JRE EXE automatisch über meine eigene MSI?
- 22. Ich schreibe meine eigene 3D Game Engine
- 23. Wie erstelle ich meine eigene Schlaf- oder Verzögerungsfunktion in c
- 24. Wie blende ich meine eigene Seite (Qt Installer Framework)
- 25. kann meine eigene Schriftart
- 26. Kann ich meine eigene Einstiegspunktmethode für C#
- 27. Kann ich meine eigene DLL zurückentwickeln?
- 28. Wie kann ich meine eigene generische Sammlung in Java implementieren?
- 29. Wie benutze ich meine eigene dynamische library in linux (Makefile)
- 30. Wie erstelle ich meine eigene benutzerdefinierte Gruppe in MediaWiki?
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/ –
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. –
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. –