2014-01-27 35 views
7

對R來說很新,我想知道是否可以通過將部件打包到子腳本(如模塊或全局自己的函數)中來縮小自己的R語言腳本。在其他解釋器語言中這通常有點通常。R中的模塊化編程

什麼是在不同的R模塊中拆分數據讀取,繪圖,設計,導出等的最佳方式?

+0

R有爲此目的的包裝系統。 – Roland

回答

3

是的,您可以使包含函數的下標例如使用source來源。

我認爲要做到這一點的最佳方式取決於案件,但只寫你的功能,將它們保存爲.R文件和source它們在你的腳本

5

有一個包出於這樣的目的,稱爲「modules」

該軟件包提供了一個功能import,它以智能的方式取代source。在大多數情況下,

source('x.r') 

可以簡單地通過

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

然而,import做了很多事情比source更好的替代 - 例如,你可以分層次組織一個項目裏面的模塊:

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

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

See the vignette for details

「模塊」包創建正是因爲我不滿意R的模塊化支持。