2014-01-27 11 views
7

Ganz neu bei R, ich frage mich, ob es möglich ist, eigene geblasene R-Skripte zu verkleinern, indem Teile in Unterskripte wie Module oder globale eigene Funktionen gepackt werden. Dies ist in anderen Interpretersprachen üblich.Modulare Programmierung in R

Was ist der beste Weg Split-Daten-Lesen, Plotten, Entwerfen, Exportieren usw. in verschiedenen R-Module?

+0

R hat sein Paketsystem für diesen Zweck. – Roland

Antwort

3

Ja, Sie können beispielsweise Indizes mit Funktionen erstellen und source verwenden, um sie zu beziehen.

Ich denke, der beste Weg, dies auf den Fall hängt zu tun, sondern nur Ihre Funktionen schreiben, sie als .R Dateien und source sie in Ihrem Skript speichern

5

Es gibt ein Paket für genau diesen Zweck, genannt “modules”.

Das Paket bietet eine Funktion import, die source auf intelligente Weise ersetzt. Für die meisten Zwecke

source('x.r') 

kann einfach durch

x = import('x') 
# or: 
import('x', attach = TRUE) 

jedoch ersetzt werden, import tut viele Dinge besser als source - zum Beispiel, können Sie Ihre Module hierarchisch in einem Projekt organisieren:

cmdline = import('sys/cmdline') 
args = cmdline$parse() 

# or: 
sys = import('sys') 
args = sys$cmdline$parse() 

See the vignette for details.

Das Paket "Module" entstand, weil ich mit der Unterstützung von R für die Modularisierung nicht zufrieden war.

Verwandte Themen