2016-06-16 4 views
1

Ich habe eine benutzerdefinierte Funktion in R, wie eine Funktion zur Verfügung stellen starten in R bis

blah=function(a,b){ 
something with a and b 
} 

ist es possile diese irgendwo zu setzen, so dass ich jeden im Arbeitsbereich nicht merken muß, laden Zeit starte ich R? Ähnlich wie bei einer eingebauten Funktion wie

summary(); t.test(); max(); sd() 

Antwort

2

können Sie die Funktion in Ihrem .rprofile file setzen.

jedoch sein sehr vorsichtig mit dem, was Sie dort setzen, da sie den Code nicht reproduzierbaren im Wesentlichen macht - es hängt jetzt von Ihrem .rprofile:

Angenommen, Sie haben einen R-Code-Datei haben eine Analyse durchgeführt wird, und der Code verwendet die Funktion blah. Die Ausführung des Codes auf einem anderen System schlägt fehl, da die Funktion blah nicht vorhanden ist.

Als Konsequenz sollte diese Datei nur systemspezifische Einstellungen enthalten. Definieren Sie keine Hilfsfunktionen in dort - oder, wenn Sie das tun, machen sie definiert nur in interaktiven Sitzungen, so dass Sie eine klare Umgebung, wenn R ist ein nicht-interaktives Skript ausgeführt wird:

if (interactive()) { 
    # Helper functions go here. 
} 

Und wenn Sie feststellen, Verwenden Sie die gleichen Hilfsfunktionen immer und immer wieder, bündeln Sie sie in Pakete (oder modules) und verwenden Sie diese wieder.

+0

Das ist eine großartige Erklärung. Da die Funktionen nur von mir verwendet werden, kann ich sie in meine .rprofile ändern, wie Sie vorschlagen, aber ich werde die Funktion wiederholt verwenden, also werde ich in die Module schauen ... nächster Schritt beim Lernen von R :) – alex

Verwandte Themen