2014-01-27 2 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.

Пакет «modules» был создан именно потому, что я был неудовлетворен поддержкой R для модуляции.

Смежные вопросы